Skip to content

Change get_available default to throw NotImplementedError#581

Merged
jd-lara merged 4 commits into
mainfrom
copilot/fix-get-available-default-issue
May 13, 2026
Merged

Change get_available default to throw NotImplementedError#581
jd-lara merged 4 commits into
mainfrom
copilot/fix-get-available-default-issue

Conversation

Copilot AI commented May 5, 2026

Copy link
Copy Markdown
Contributor

The default get_available(::InfrastructureSystemsComponent) = true silently returns true for types that never implemented it, causing incorrect availability semantics downstream (e.g., transformer winding arcs reporting as available when they aren't).

  • src/InfrastructureSystems.jl: Default now throws NotImplementedError, forcing subtypes to explicitly implement get_available
  • src/utils/test.jl: Added get_available returning true for internal test component types
  • src/component_container.jl: Updated interface comment
# Before: silently returns true for any component
get_available(some_arc)  # true (wrong)

# After: throws unless the subtype implements it
get_available(some_arc)  # NotImplementedError: get_available not currently implemented for SomeArcType

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/FluxML/MacroTools.jl/tarball/1e0228a030642014fe5cfe68c2c0a818f9e3f522
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Blosc_jll.jl/tarball/535c80f1c0847a4c967ea945fca21becc9de1522
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/HDF5_jll.jl/tarball/45337643a2d97262d5fe72ce1f13e8a662d13d62
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Hwloc_jll.jl/tarball/baaaebd42ed9ee1bd9173cfd56910e55a8622ee1
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Libiconv_jll.jl/tarball/be484f5c92fad0bd8acfef35fe017900b0b73809
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Lz4_jll.jl/tarball/191686b1ac1ea9c89fc52e996ad15d1d241d1e33
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/MPIABI_jll.jl/tarball/9be143b6045719e8fb019d2b3bc2aebad1184fef
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/MPICH_jll.jl/tarball/07dbec8aab01696edc0151a401a6cdfe95b9b885
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/MPItrampoline_jll.jl/tarball/675df097f8eeb28998b2cfe3b25655af73d5f7df
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/MicrosoftMPI_jll.jl/tarball/bc95bf4149bf535c09602e3acdf950d9b4376227
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/OpenMPI_jll.jl/tarball/6d6c0ca4824268c1a7dca1f4721c535ac63d9074
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/SQLite_jll.jl/tarball/0b5f220f90642566b65ba86549d1ee4118ab2579
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/XML2_jll.jl/tarball/80d3930c6347cfce7ccf96bd3bafdf079d9c0390
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Xorg_libpciaccess_jll.jl/tarball/58972370b81423fc546c56a60ed1a009450177c3
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/Zstd_jll.jl/tarball/446b23e73536f84e8037f5dce465e92275f6a308
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_auth_jll.jl/tarball/8cab83c96af80a1be968251ce1a0548a7545484d
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_cal_jll.jl/tarball/22c0f42f4a1f0dc5dcfa8fd267c4ac407c455e7a
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_common_jll.jl/tarball/a759cb9bf456ad792cc7898a81ae333cce9ef02a
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_compression_jll.jl/tarball/7910c72f45f44afd297c39fe43b99c56d5ed22ec
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_http_jll.jl/tarball/e358d5a001ef7afbd4f8c5225322512819cda2f2
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_io_jll.jl/tarball/7e481d474b2087ee8bbf55b81bf9119f21e396d9
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_s3_jll.jl/tarball/3e9917ab25114feba657e71be41cad068b9f6595
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_c_sdkutils_jll.jl/tarball/c43dfba2c1ab9ea9f02f2c80e86fa16f6460244e
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/aws_checksums_jll.jl/tarball/2570c8e23f4771a087b12a47edcaaa670ac05a01
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/dlfcn_win32_jll.jl/tarball/e141d67ffe550eadfb5af1bdbdaf138031e4805f
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/libaec_jll.jl/tarball/1411bc34c180946d3cef591de1384012afa6edee
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/mpif_jll.jl/tarball/a8083ee0737c243c8f40a4ba86a0956997facb73
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaBinaryWrappers/s2n_tls_jll.jl/tarball/6b99e06a3863de281da6ff0e193a5b3706349054
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaCollections/AbstractTrees.jl/tarball/2d9c9a55f9c93e8887ad391fbae72f8ef55e1177
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaCollections/DataStructures.jl/tarball/e86f4a2805f7f19bec5129bc9150c38208e5dc23
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaCollections/LeftChildRightSiblingTrees.jl/tarball/95ba48564903b43b2462318aa243ee79d81135ff
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaCollections/OrderedCollections.jl/tarball/05868e21324cede2207c6f0f466b4bfef6d5e7ee
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaCollections/SortingAlgorithms.jl/tarball/64d974c2e6fdf07f8155b5b2ca2ffa9069b608d9
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/CSV.jl/tarball/8d8e0b0f350b8e1c91420b5e64e5de774c2f0f4d
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaData/DataAPI.jl/tarball/abe83f3a2f1b857aac70ef8b269080af17764bbe
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/DataFrames.jl/tarball/5fab31e2e01e70ad66e3e24c968c264d1cf166d6
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/DataFramesMeta.jl/tarball/b0652fb7f3c094cf453bf22e699712a0bed9fc83
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/DelimitedFiles.jl/tarball/9e2f36d3c96a820c678f2f1f1782582fcf685bae
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/InvertedIndices.jl/tarball/6da3c4316095de0f5ee2ebd875df8721e7e0bdbe
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/Missings.jl/tarball/ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/Parsers.jl/tarball/5d5e0a78e971354b1c7bff0655d11fdc1b0e12c8
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/PooledArrays.jl/tarball/36d8b4b899628fb92c2749eb488d884a926614d3
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/SentinelArrays.jl/tarball/ebe7e59b37c400f694f52b58c93d26201387da70
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/StructTypes.jl/tarball/159331b30e94d7b11379037feeb9b690950cace8
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/TableMetadataTools.jl/tarball/c0405d3f8189bb9a9755e429c6ea2138fca7e31f
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/Tables.jl/tarball/f2c1efbc8f3a609aadf318094f8fc5204bdaf344
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/WeakRefStrings.jl/tarball/0716e01c3b40413de5dedbc9c5c69f27cddfddfc
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaData/YAML.jl/tarball/a1c0c7585346251353cddede21f180b96388c403
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaDatabases/DBInterface.jl/tarball/a444404b3f94deaa43ca2a58e18153a82695282b
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaDatabases/SQLite.jl/tarball/87b47a05946c50f44531b447b1f24968345316a4
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaDocs/DocStringExtensions.jl/tarball/7442a5dfe1ebb773c29cc2962a8980f47221d76c
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaIO/Blosc.jl/tarball/310b77648d38c223d947ff3f50f511d08690b8d5
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaIO/CodecZlib.jl/tarball/962834c22b66e32aa10f7611c08c8ca4e20749a9
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaIO/HDF5.jl/tarball/491ea627ac824619f34168e29a0427a9e00e3e40
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaIO/HDF5.jl/tarball/d778420e524bcf56066e8c63c7aa315ae7269da2
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaIO/TranscodingStreams.jl/tarball/0c45878dcfdcfa8480052b6ab162cdd138781742
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaLang/Compat.jl/tarball/9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaLang/PrecompileTools.jl/tarball/07a921781cab75691315adc645096ed5e370cb77
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaLogging/ProgressLogging.jl/tarball/f0803bc1171e455a04124affa9c21bba5ac4db32
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaLogging/TerminalLoggers.jl/tarball/f133fab380933d042f6796eda4e130272ba520ca
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaPackaging/JLLWrappers.jl/tarball/0533e564aae234aff59ab625543145446d8b6ec2
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaPackaging/Preferences.jl/tarball/8b770b60760d4451834fe79dd483e318eee709c4
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaPackaging/Requires.jl/tarball/62389eeff14780bfe55195b7204c0d8738436d64
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaParallel/MPI.jl/tarball/8e98d5d80b87403c311fd51e8455d4546ba7a5f8
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaPhysics/Unitful.jl/tarball/57e1b2c9de4bd6f40ecb9de4ac1797b81970d008
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaPlots/Plots.jl/tarball/5c3d09cc4f31f5fc6af001c250bf1278733100ff
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaServices/WorkerUtilities.jl/tarball/cd1659ba0d57b71a464a29e64dbc67cfe83d54e7
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaStats/Statistics.jl/tarball/ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaStats/TimeSeries.jl/tarball/e1235a1906d1e6d27c30c35daa91fcf6fc271f08
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaStrings/InlineStrings.jl/tarball/8f3d257792a522b4601c24a577954b0a8cd7334d
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaStrings/LaTeXStrings.jl/tarball/dda21b8cbd6a6c40d9d02a73230f9d70fed6918c
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaStrings/StringEncodings.jl/tarball/b765e46ba27ecf6b44faf70df40c57aa3a547dcb
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaTesting/Aqua.jl/tarball/d57fd255a8932b6509baf43284c416fc44d0b903
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaTesting/ExprTools.jl/tarball/27415f162e6028e81c72b82ef756bf321213b6ec
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/JuliaTesting/ReTest.jl/tarball/9a5136d157d1d6a2a56ff77bef1dc324e1313193
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/JuliaTesting/ReTest.jl/tarball/daf0743879904f0ad645ca6594e1479685f158a2
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/KristofferC/Crayons.jl/tarball/249fe38abf76d48563e2f4556bebd215aa317e15
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (http block)
  • https://api.github.com/repos/KristofferC/TimerOutputs.jl/tarball/3748bd928e68c7c346b52125cf41fff0de6937d0
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/jkrumbiegel/Chain.jl/tarball/765487f32aeece2cf28aa7038e29c31060cb5a69
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/joshday/StringTemplates.jl/tarball/d78012ad7c6c22aba229a6363ec83ebc9ce5c135
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/jverzani/Mustache.jl/tarball/3cbd5dda543bc59f2e482607ccf84b633724fc32
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/queryverse/DataValueInterfaces.jl/tarball/bfc1187b79289637fa0ef6d4436ebdfe6905cbd6
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/queryverse/IteratorInterfaceExtensions.jl/tarball/a3f24677c21f5bbe9d2a714f95dcd58337fb2856
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/queryverse/TableTraits.jl/tarball/c06b2f539df1c6efa794486abfb6ed2022561a39
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/quinnj/JSON3.jl/tarball/411eccfe8aba0814ffa0fdf4860913ed09c34975
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/rofinn/FilePathsBase.jl/tarball/3bab2c5aa25e7840a4b065805c0cdfc01f3068d2
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/ronisbr/PrettyTables.jl/tarball/624de6279ab7d94fc9f672f0068107eb6619732c
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/ronisbr/StringManipulation.jl/tarball/d05693d339e37d6ab134c5ab53c29fce5ee5d7d5
    • Triggering command: REDACTED, pid is -1 (http block)
  • https://api.github.com/repos/simonster/Reexport.jl/tarball/45e428421666073eab6f2da5c9d310d99bb12f9b
    • Triggering command: REDACTED, pid is -1 (http block)
  • pkg.julialang.org
    • Triggering command: /usr/bin/julia julia --project=. -e using Pkg; Pkg.test(; test_args=["test_component_container"]) (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI linked an issue May 5, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Fix downstream effects of get_available default Change get_available default to throw NotImplementedError May 5, 2026
Copilot finished work on behalf of jd-lara May 5, 2026 16:59
Copilot AI requested a review from jd-lara May 5, 2026 16:59
Comment thread src/InfrastructureSystems.jl Outdated
throw(NotImplementedError("get_available", typeof(value)))

"Set the availability of the component."
set_available!(value::InfrastructureSystemsComponent) = true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be required also?

@codecov

codecov Bot commented May 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.86%. Comparing base (4c9a97f) to head (3e92d42).
⚠️ Report is 12 commits behind head on main.

Files with missing lines Patch % Lines
src/utils/test.jl 0.00% 6 Missing ⚠️
src/InfrastructureSystems.jl 0.00% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #581      +/-   ##
==========================================
+ Coverage   77.81%   78.86%   +1.05%     
==========================================
  Files          75       75              
  Lines        6734     6649      -85     
==========================================
+ Hits         5240     5244       +4     
+ Misses       1494     1405      -89     
Flag Coverage Δ
unittests 78.86% <0.00%> (+1.05%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/component_container.jl 92.30% <ø> (ø)
src/InfrastructureSystems.jl 44.44% <0.00%> (+4.44%) ⬆️
src/utils/test.jl 61.11% <0.00%> (-12.23%) ⬇️

... and 32 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jd-lara jd-lara marked this pull request as ready for review May 13, 2026 06:08
@jd-lara jd-lara merged commit d5505a1 into main May 13, 2026
6 of 7 checks passed
@jd-lara jd-lara deleted the copilot/fix-get-available-default-issue branch May 13, 2026 06:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Downstream effects of get_available default

3 participants