Skip to content

Remove outdated concore copies from testsou to prevent divergence (#289)#305

Merged
pradeeban merged 1 commit intoControlCore-Project:devfrom
GaneshPatil7517:fix/remove-stale-concore-copies
Feb 14, 2026
Merged

Remove outdated concore copies from testsou to prevent divergence (#289)#305
pradeeban merged 1 commit intoControlCore-Project:devfrom
GaneshPatil7517:fix/remove-stale-concore-copies

Conversation

@GaneshPatil7517
Copy link
Copy Markdown
Contributor

@GaneshPatil7517 GaneshPatil7517 commented Feb 14, 2026

@pradeeban
Problem:
The testsou/ directory contained 9 outdated local copies of concore.py / concore2.py that diverged from the main implementation. These stale duplicates lacked default_maxtime(), tryparam()/params, ZMQ support, proper sys.exit() handling, and other core features — creating import shadowing risk, contributor confusion, and test instability.

Solution:
Removed all 9 stale duplicate concore implementations from testsou/:

concore.py
concoreold.py
concoredocker.py
concore.py
concore.py
concore2.py
concore2.py

Impact:

No functional changes
No API changes
No behavior changes
Root concore.py untouched

All 57 tests pass
Enforces single source of truth
Eliminates import shadowing risk

Closes #289
image

Copilot AI review requested due to automatic review settings February 14, 2026 05:23
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR removes multiple stale, duplicated concore.py / concore2.py implementations under testsou/ to reduce divergence from the main concore.py and eliminate local shadowing/confusion risks.

Changes:

  • Deleted 9 outdated local copies of concore.py / concore2.py from testsou/ and its subfolders.
  • Removed legacy variants (concoreold.py, concoredocker.py) from testsou/ to enforce a single source of truth.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.

Show a summary per file
File Description
testsou/concore.py Removes testsou-local concore implementation to avoid drift/shadowing.
testsou/concoreold.py Removes legacy concore variant from testsou.
testsou/concoredocker.py Removes testsou-local docker-specific concore variant.
testsou/ccpymat.dir/concore.py Removes per-example concore copy under ccpymat.
testsou/pmcpymat.dir/concore.py Removes per-example concore copy under pmcpymat.
testsou/funbody.dir/concore2.py Removes per-example concore2 copy under funbody.
testsou/funcall.dir/concore2.py Removes per-example concore2 copy under funcall.
testsou/mix.dir/concore2.py Removes per-example concore2 copy under mix.
testsou/powermetermax.dir/concore2.py Removes per-example concore2 copy under powermetermax.
Comments suppressed due to low confidence (4)

testsou/ccpymat.dir/concore.py:1

  • testsou/ccpymat.dir/cpymat.py does import concore. With this file removed, running that script from inside testsou/ccpymat.dir will raise ModuleNotFoundError unless the repo root is added to PYTHONPATH/sys.path. If these *.dir folders are intended to be runnable entrypoints, consider updating the runner/scripts to include the repo root on sys.path (or converting concore.py into an installable module).
    testsou/pmcpymat.dir/concore.py:1
  • testsou/pmcpymat.dir/pmpymat.py does import concore. With this local module removed, running from within testsou/pmcpymat.dir will no longer resolve concore unless the repo root is on PYTHONPATH/sys.path. If these example directories are still supported, consider adding a small path bootstrap in the scripts or documenting the required invocation (e.g., run from repo root with an explicit PYTHONPATH).
    testsou/concore.py:1
  • Removing this local testsou/concore.py copy means running scripts from testsou/ via python testsou/<script>.py (or from inside testsou/) will no longer be able to resolve import concore, because the repo root isn’t on sys.path in that execution mode and setup.py doesn’t package concore.py for installation. If these scripts are still expected to be runnable, consider updating them to add the repo root to sys.path (or packaging concore.py as an installable module) and adjust the PR description (“No behavior changes”) accordingly.
    testsou/funcall.dir/concore2.py:1
  • After deleting the concore2.py copies under testsou/*/*.dir/, there is no longer any concore2 module available when running the testsou/*.py examples that do import concore2 (e.g. testsou/funcall.py, testsou/mix.py, testsou/powermetermax.py). If those examples are meant to remain usable, consider adding a single supported concore2 shim (e.g., loading concore.py under a second module name to keep separate globals) or updating the examples to avoid relying on concore2 imports.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@pradeeban pradeeban merged commit 2c47e5e into ControlCore-Project:dev Feb 14, 2026
11 of 12 checks passed
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.

3 participants