Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
438 commits
Select commit Hold shift + click to select a range
f9455c5
update java docker file to two stage build
GREENRAT-K405 Feb 14, 2026
cc83e4d
Merge pull request #323 from GREENRAT-K405/add/build-java-dockerfile
pradeeban Feb 14, 2026
302a940
fix unnecessary matlab image bloating
GREENRAT-K405 Feb 14, 2026
2e10f48
Allow relative subdirectory paths in node labels
Titas-Ghosh Feb 14, 2026
49eed7c
update dockerfile.m to include essential packages
GREENRAT-K405 Feb 14, 2026
977369d
Merge pull request #327 from Titas-Ghosh/allow-subdir-node-sources-clean
pradeeban Feb 14, 2026
7a60a70
Merge pull request #326 from GREENRAT-K405/fix/optimize-matlab-docker…
pradeeban Feb 14, 2026
ba1a79e
Merge pull request #329 from GREENRAT-K405/fix/octave-dockerfile-pack…
pradeeban Feb 14, 2026
2a8e0ac
clear apt cache to optimize verilog dockerfile
GREENRAT-K405 Feb 14, 2026
6423a49
add .dockerignore to concore
GREENRAT-K405 Feb 14, 2026
ceccbac
Enhance workflow validation with source file and port checks
Sahil-u07 Feb 9, 2026
a39e30a
Address Copilot review feedback
Sahil-u07 Feb 9, 2026
ad0f393
Fix
Sahil-u07 Feb 14, 2026
f862b9b
Merge upstream/dev into feature/enhanced-workflow-validation
Sahil-u07 Feb 14, 2026
59c76b6
Merge upstream/dev
Sahil-u07 Feb 14, 2026
8cc3d50
Remove temporary helper scripts
Sahil-u07 Feb 14, 2026
ab15e7a
Fix syntax warning: escape backslash in docstring
Sahil-u07 Feb 14, 2026
5ffd847
Properly merge upstream/dev
Sahil-u07 Feb 14, 2026
1b73752
Add test coverage for inspect command
Sahil-u07 Feb 15, 2026
8690784
fix: validate arguments before usage in mkconcore.py (Issue #267)
GaneshPatil7517 Feb 15, 2026
9e8e756
fix: use print+sys.exit for early arg check before logging is configured
GaneshPatil7517 Feb 15, 2026
7803521
security: remove API key logging from wrapper scripts (fixes #263)
GaneshPatil7517 Feb 14, 2026
df5bbee
Fix filename parsing for files with multiple dots
avinxshKD Feb 15, 2026
270656e
advance simtime after write in C++ and Verilog
avinxshKD Feb 15, 2026
bb996f1
optimize python dockerfile to be much lighter
GREENRAT-K405 Feb 15, 2026
2081299
fix: add missing return in concoredocker.py write() after ZMQ send
avinxshKD Feb 15, 2026
0a1fb79
Merge pull request #331 from GREENRAT-K405/fix/optimize-verilog-docke…
pradeeban Feb 15, 2026
c29ef2d
Merge pull request #229 from Sahil-u07/feature/enhanced-workflow-vali…
pradeeban Feb 15, 2026
143d6e9
fix simtime update in write_FM and write_SM functions
Sahil-u07 Feb 16, 2026
3c54acb
fix simtime not advancing in MATLAB write function
Sahil-u07 Feb 16, 2026
b607b8e
fix java params to use semicolon separator
avinxshKD Feb 16, 2026
926e5ee
add missing deps to pyproject.toml
avinxshKD Feb 16, 2026
82cea61
fix: guard against empty string crash in parser() and bounds check in…
avinxshKD Feb 16, 2026
af68145
Merge pull request #333 from GREENRAT-K405/add/dockerignore
pradeeban Feb 16, 2026
7eb46ef
Merge pull request #348 from GREENRAT-K405/fix/optimize-python-docker…
pradeeban Feb 16, 2026
454acd8
fix: align concoredocker.py ZMQ read/write with simtime framing (#382)
avinxshKD Feb 17, 2026
ab3562e
Merge pull request #313 from GaneshPatil7517/fix/remove-api-key-logging
pradeeban Feb 18, 2026
a3b0752
Merge pull request #341 from avinxshKD/fix/write-simtime-advance
pradeeban Feb 18, 2026
e2cae65
Merge pull request #335 from Sahil-u07/test/add-inspect-command-tests
pradeeban Feb 18, 2026
b84ea1f
Merge pull request #336 from GaneshPatil7517/fix/mkconcore-arg-valida…
pradeeban Feb 18, 2026
2aa2b5c
Merge pull request #340 from avinxshKD/fix/multi-dot-filename-parsing
pradeeban Feb 18, 2026
6add56b
Merge pull request #350 from avinxshKD/fix/concoredocker-zmq-write-fa…
pradeeban Feb 18, 2026
315d3f4
Merge pull request #351 from Sahil-u07/fix/cpp-simtime-update
pradeeban Feb 18, 2026
ab0f67c
Merge pull request #353 from Sahil-u07/fix/matlab-simtime-update
pradeeban Feb 18, 2026
59efdd9
Merge pull request #356 from avinxshKD/fix/java-params-semicolon
pradeeban Feb 18, 2026
5b9554f
Merge pull request #357 from avinxshKD/fix/pyproject-missing-deps
pradeeban Feb 18, 2026
327116d
Merge pull request #372 from avinxshKD/fix/parser-empty-string-crash
pradeeban Feb 18, 2026
d737a7e
Merge branch 'dev' into fix/zmq-simtime-framing-382
pradeeban Feb 18, 2026
0467ce5
Merge pull request #383 from avinxshKD/fix/zmq-simtime-framing-382
pradeeban Feb 18, 2026
4dd4d7d
refactor: remove duplicate Docker import logic, prevent Windows batch…
GaneshPatil7517 Feb 18, 2026
fb5b10e
security: harden contribute.py with token validation, safe error hand…
GaneshPatil7517 Feb 18, 2026
9ace755
security: address PR review - fix exception types to github.GithubExc…
GaneshPatil7517 Feb 18, 2026
d55ace7
fix: make Windows destroy.bat call stop and clear before deletion (fi…
GaneshPatil7517 Feb 18, 2026
8cd3326
maintenance: update oldeditgraph DHGWorkflow link to archived reposit…
GaneshPatil7517 Feb 18, 2026
83666ad
security: sanitize fetch parameter with secure_filename in /download …
GaneshPatil7517 Feb 18, 2026
6a40d0f
fix: use double for simtime/maxtime in concoredocker.hpp
avinxshKD Feb 18, 2026
fefe457
fix: correct subprocess handling and HTTP status codes in /library en…
GaneshPatil7517 Feb 18, 2026
e2c9853
security: remove shell=True from /contribute endpoint to prevent comm…
GaneshPatil7517 Feb 18, 2026
0047de5
test: add ZMQ simtime framing tests for concoredocker.py
avinxshKD Feb 18, 2026
9fe3608
security: protect /openJupyter endpoint with API key and process cont…
GaneshPatil7517 Feb 18, 2026
5bf69a2
test: skip openJupyter security tests when flask is not installed in CI
GaneshPatil7517 Feb 18, 2026
51e7076
security: address PR review - timing-safe comparison, thread lock, sp…
GaneshPatil7517 Feb 18, 2026
1bfd16c
use named logger, drop force=True
avinxshKD Feb 18, 2026
586a7c2
fix maxtime as double in concoredocker.java, fixes
avinxshKD Feb 18, 2026
5354b99
Fix mkconcore path handling for nested output directories
Titas-Ghosh Feb 18, 2026
0487c24
security: remove hardcoded Flask secret key and load from environment…
GaneshPatil7517 Feb 18, 2026
edf0c3a
refactor: remove duplicated logic in build() endpoint and dynamically…
GaneshPatil7517 Feb 18, 2026
84aeaba
refactor: replace verbose try/except param handling in pidsig.py with…
GaneshPatil7517 Feb 18, 2026
1d82977
fix: use computed PID frequency in pid2.py instead of hardcoded value…
GaneshPatil7517 Feb 18, 2026
176cc94
Fix ZMQ specialization collisions for shared source scripts
Titas-Ghosh Feb 18, 2026
95c337d
Merge pull request #397 from GaneshPatil7517/refactor/import-concore-…
pradeeban Feb 19, 2026
4f8b2d9
Merge pull request #399 from GaneshPatil7517/fix/windows-destroy-cons…
pradeeban Feb 19, 2026
8c685c3
Merge pull request #402 from GaneshPatil7517/fix/update-oldeditgraph-…
pradeeban Feb 19, 2026
a51d841
Merge pull request #403 from GaneshPatil7517/security/secure-fetch-fi…
pradeeban Feb 19, 2026
2035143
Merge pull request #404 from avinxshKD/fix/simtime-double-370
pradeeban Feb 19, 2026
881de2c
Merge pull request #405 from GaneshPatil7517/fix/library-endpoint-sub…
pradeeban Feb 19, 2026
08bd61b
refactor: remove Fix N counter prefixes from comments per review feed…
GaneshPatil7517 Feb 19, 2026
b4fdcf1
Merge pull request #407 from GaneshPatil7517/security/remove-shell-fr…
pradeeban Feb 19, 2026
1fccbbb
Merge pull request #408 from avinxshKD/test/zmq-simtime-framing-371
pradeeban Feb 19, 2026
6b7f645
Merge pull request #409 from GaneshPatil7517/security/protect-openjup…
pradeeban Feb 19, 2026
de5c3e4
Merge pull request #411 from avinxshKD/fix/logging-nullhandler
pradeeban Feb 19, 2026
aa06d21
Merge pull request #412 from avinxshKD/fix/maxtime-double
pradeeban Feb 19, 2026
519ee66
Merge pull request #413 from Titas-Ghosh/fix-mkconcore-path-handling
pradeeban Feb 19, 2026
c9d4a68
Merge pull request #414 from GaneshPatil7517/security/remove-hardcode…
pradeeban Feb 19, 2026
2cd0f08
Merge pull request #415 from GaneshPatil7517/refactor/build-endpoint-…
pradeeban Feb 19, 2026
16e2a50
Merge pull request #416 from GaneshPatil7517/refactor/pidsig-use-tryp…
pradeeban Feb 19, 2026
543d169
Merge pull request #417 from GaneshPatil7517/fix/pid2-use-computed-fr…
pradeeban Feb 19, 2026
8582910
Merge pull request #419 from Titas-Ghosh/fix-zmq-specialization-share…
pradeeban Feb 19, 2026
379e86d
fix: respect DOCKEREXE configuration and remove hardcoded sudo docker…
GaneshPatil7517 Feb 19, 2026
ec5690a
fix: prevent NameError in measurement scripts by adding fallback port…
GaneshPatil7517 Feb 19, 2026
b315c13
fix: path slash and retry loop in concoredocker.hpp)
avinxshKD Feb 19, 2026
7a40f00
fix: correct Flask-CORS package name in requirements.txt (fixes #368)
GaneshPatil7517 Feb 19, 2026
97b669b
fix: error on duplicate node labels in mkconcore and validate
avinxshKD Feb 19, 2026
4e3a098
fix(simtime): remove global simtime mutation from write() to ensure d…
GaneshPatil7517 Feb 20, 2026
6360c80
cleanup: add comprehensive Python bytecode and cache ignore rules (#373)
GaneshPatil7517 Feb 20, 2026
f66ce52
fix: replace quit() with sys.exit(1) for reliable process termination…
GaneshPatil7517 Feb 20, 2026
93a8759
fix: remove mixed tabs/spaces indentation in bangbang.py (#376)
GaneshPatil7517 Feb 20, 2026
52b0c3b
refactor: consolidate duplicate PID controller (pidmayuresh3 wrapper)
GaneshPatil7517 Feb 20, 2026
4ebae6c
remove issue ref from inline comment
avinxshKD Feb 20, 2026
b27755a
fix: use try/except for relative+absolute import in pidmayuresh3 wrapper
GaneshPatil7517 Feb 20, 2026
01fed62
fix: add include guard, default_maxtime, tryparam, and initval bounds…
avinxshKD Feb 20, 2026
edaac35
Merge pull request #398 from GaneshPatil7517/security/harden-contribu…
pradeeban Feb 20, 2026
82de837
Clarify network communication measurements section
pradeeban Feb 20, 2026
ed13e9e
Merge pull request #401 from GaneshPatil7517/fix/measurement-undefine…
pradeeban Feb 20, 2026
4002db0
Merge pull request #423 from avinxshKD/fix/concoredocker-path-and-retry
pradeeban Feb 20, 2026
7032308
Merge pull request #425 from GaneshPatil7517/fix/requirements-flask-c…
pradeeban Feb 20, 2026
a283177
Merge pull request #426 from avinxshKD/fix/duplicate-node-label-v2
pradeeban Feb 20, 2026
a198859
Merge pull request #431 from GaneshPatil7517/fix/simtime-mutation
pradeeban Feb 20, 2026
fa547c8
Merge pull request #432 from GaneshPatil7517/cleanup/remove-pycache
pradeeban Feb 20, 2026
12b8557
Merge pull request #433 from GaneshPatil7517/bugfix/replace-quit-with…
pradeeban Feb 20, 2026
24ebe32
Fix docker build script paths for subdirectory node sources
Titas-Ghosh Feb 19, 2026
0ace53a
Refine docker subdir fix to minimal mkconcore line changes
Titas-Ghosh Feb 20, 2026
d6f49c2
Minimize mkconcore diff for docker subdir build path fix
Titas-Ghosh Feb 20, 2026
6cdf4c9
Drop unrelated duplicate-label change from docker subdir PR
Titas-Ghosh Feb 20, 2026
97a38f6
Merge pull request #434 from GaneshPatil7517/fix/bangbang-mixed-inden…
pradeeban Feb 20, 2026
e15cf19
update mkconcore logic to select scripts to add to src
GREENRAT-K405 Feb 20, 2026
a5d58e8
Restore duplicate-label guard while keeping docker subdir fix scoped
Titas-Ghosh Feb 20, 2026
7a1f0e2
Reduce mkconcore changes to only docker build-dir normalization
Titas-Ghosh Feb 20, 2026
22d0936
Merge branch 'dev' into refactor/consolidate-pidmayuresh-378
pradeeban Feb 20, 2026
4926918
Merge pull request #435 from GaneshPatil7517/refactor/consolidate-pid…
pradeeban Feb 20, 2026
5fc196d
Merge pull request #438 from avinxshKD/fix/hpp-missing-functions
pradeeban Feb 20, 2026
145d656
Merge pull request #439 from GREENRAT-K405/fix/mkconcore-all-script-d…
pradeeban Feb 20, 2026
97dcff1
Merge pull request #428 from Titas-Ghosh/fix-docker-build-subdir-paths
pradeeban Feb 20, 2026
dc726cb
fix: use concore.maxtime instead of hardcoded Nsim in C++ nodes
avinxshKD Feb 21, 2026
60351ea
Add phase-1 protocol conformance fixtures and runner
Titas-Ghosh Feb 21, 2026
cc3f74a
Rename protocol fixtures README to avoid repo-level README confusion
Titas-Ghosh Feb 21, 2026
c254d04
fix: pull shared logic into concore_base, fix docker path/cleanup bugs
avinxshKD Feb 21, 2026
1136c26
fix: java init stuck in main and param parser broken for values with =
avinxshKD Feb 21, 2026
1cbe48c
Merge pull request #441 from avinxshKD/fix/hpp-cpp-maxtime-termination
pradeeban Feb 21, 2026
de44e34
Merge pull request #442 from avinxshKD/fix/deduplicate-concore-docker
pradeeban Feb 22, 2026
3f1c744
Merge pull request #443 from Titas-Ghosh/add-protocol-conformance-fix…
pradeeban Feb 22, 2026
cc6ba38
Merge pull request #444 from avinxshKD/fix/java-init-and-param-parser
pradeeban Feb 22, 2026
209297b
concore_cli: add watch command for live simulation monitoring
avinxshKD Feb 22, 2026
866beed
add option to see realtime simulation
GREENRAT-K405 Feb 22, 2026
f07c437
Merge pull request #450 from avinxshKD/feature/cli-watch
pradeeban Feb 22, 2026
c28d6b0
add sample for realtime simulation
GREENRAT-K405 Feb 22, 2026
02cf91c
Merge pull request #451 from GREENRAT-K405/dev
pradeeban Feb 22, 2026
73b2393
update tools documentation
GREENRAT-K405 Feb 22, 2026
914ec4b
Merge pull request #453 from GREENRAT-K405/dev
pradeeban Feb 22, 2026
bc87af5
fix: packaging broken install and version duplication (#437)
avinxshKD Feb 23, 2026
bafc510
fix: dedupe C++ headers into concore_base.hpp and fix Java docker wro…
avinxshKD Feb 23, 2026
6d4eecc
Merge pull request #455 from avinxshKD/fix/packaging-437
pradeeban Feb 23, 2026
5d46e60
Merge pull request #458 from avinxshKD/fix/dedupe-cpp-java-456-457
pradeeban Feb 23, 2026
a4162b6
fix: clamp lag parameter to buffer size with warning (fixes #379)
GaneshPatil7517 Feb 24, 2026
ab30ee7
docs: add DOCKEREXE configuration section to README.md
GaneshPatil7517 Feb 24, 2026
b6f2a0d
Fix: Add explicit error signalling to read() (#390)
GaneshPatil7517 Feb 24, 2026
72f3653
fix(ci): add ruff.toml, format check, coverage, merge tests.yml, fix …
avinxshKD Feb 24, 2026
6ecbbd8
test: add phase-2 cross-runtime conformance mapping baseline
Titas-Ghosh Feb 24, 2026
c6cfa94
fix: make concoredocker API methods public static (closes #463)
avinxshKD Feb 25, 2026
58dfe63
Merge pull request #421 from GaneshPatil7517/fix/dockerexe-config-res…
pradeeban Feb 26, 2026
e055f5e
Merge pull request #459 from GaneshPatil7517/fix/lag-validation-379
pradeeban Feb 26, 2026
c3b6f84
Merge pull request #468 from avinxshKD/fix/463-java-public-api
pradeeban Feb 26, 2026
ade6ab3
fix: delete copy ops and add move semantics to Concore (#469)
avinxshKD Feb 28, 2026
90f9cad
fix redundant zmq.Context() Instances
GREENRAT-K405 Mar 1, 2026
7736a97
fix redundant zmq.Context() Instances
GREENRAT-K405 Mar 1, 2026
0c4ec88
azy-init shared context instead of one per port
GREENRAT-K405 Mar 1, 2026
fb27fa9
Update concore_base.py
GREENRAT-K405 Mar 1, 2026
0081e83
fix: move global _zmq_context declaration before first use in termina…
GREENRAT-K405 Mar 1, 2026
d8f3e6c
feat: add ZMQ transport to concore.hpp/concore_base.hpp (fixes #474)
avinxshKD Mar 1, 2026
2a8a795
Merge pull request #461 from avinxshKD/fix/ci-ruff-coverage-454
pradeeban Mar 1, 2026
c083a97
Merge pull request #462 from GaneshPatil7517/fix/read-error-status
pradeeban Mar 1, 2026
62e11dc
Merge pull request #467 from Titas-Ghosh/add-protocol-conformance-pha…
pradeeban Mar 1, 2026
23a28d6
Merge pull request #470 from avinxshKD/fix/rule-of-five-469
pradeeban Mar 1, 2026
d302863
Merge pull request #473 from GREENRAT-K405/fix/redundant-context-inst…
pradeeban Mar 1, 2026
b6cfcaa
Merge pull request #475 from avinxshKD/feat/cpp-zmq-transport
pradeeban Mar 1, 2026
cb9e43c
fix(parser): add Python-compatible literal parser for C++ concore nodes
GaneshPatil7517 Feb 24, 2026
3d35efd
style: remove comments from new parser code
GaneshPatil7517 Feb 24, 2026
7849594
fix: restore original parselist_double doc comment
GaneshPatil7517 Mar 2, 2026
f9e17b9
fix: apply Copilot review suggestions
GaneshPatil7517 Mar 2, 2026
2625e85
style: format test_read_status.py with ruff
GaneshPatil7517 Mar 2, 2026
3708241
style: fix ruff lint errors in test_read_status.py
GaneshPatil7517 Mar 2, 2026
a84ae7b
docs: add ZMQ transport section to README (closes #476)
avinxshKD Mar 2, 2026
e61fea0
fix: rule of five for concoredocker.hpp
avinxshKD Mar 2, 2026
1697a5e
Merge pull request #477 from avinxshKD/docs/zmq-readme
pradeeban Mar 2, 2026
c1240d0
Merge pull request #479 from avinxshKD/fix/rule-of-five-concoredocker
pradeeban Mar 2, 2026
c0ce0de
feat: add ZMQ support to concoredocker.hpp, align read/write/initval …
avinxshKD Mar 2, 2026
34b5687
remove issue numbers from inline comments
avinxshKD Mar 2, 2026
880c3a2
Merge pull request #460 from GaneshPatil7517/fix/cpp-literal-parser
pradeeban Mar 2, 2026
8b6a85f
Merge pull request #481 from avinxshKD/feat/zmq-concoredocker
pradeeban Mar 2, 2026
de6ca5d
feat: add ZMQ transport to concoredocker.java via JeroMQ
avinxshKD Mar 3, 2026
4148933
Update citation details in README.md
pradeeban Mar 3, 2026
01e0ec0
Merge pull request #483 from avinxshKD/feat/java-zmq-transport
pradeeban Mar 3, 2026
4bc59b8
test: add Concore class API tests for concore.hpp (#484)
avinxshKD Mar 3, 2026
7e8090e
feat: add shared memory transport to concoredocker.hpp (#486)
avinxshKD Mar 3, 2026
30ecc5e
fix: raise TimeoutError on ZMQ retry exhaustion (#393)
GaneshPatil7517 Mar 4, 2026
9c900b0
test: add TestConcoredockerApi covering read/write/unchanged/initVal
avinxshKD Mar 5, 2026
0528661
Merge pull request #485 from avinxshKD/fix/cpp-api-test-coverage
pradeeban Mar 6, 2026
7f50e22
Merge pull request #487 from avinxshKD/feat/shm-concoredocker
pradeeban Mar 6, 2026
d3c3b3e
Merge pull request #488 from GaneshPatil7517/fix/issue-393-zmq-retry-…
pradeeban Mar 6, 2026
7adf163
Merge pull request #490 from avinxshKD/feat/test-concoredocker-api
pradeeban Mar 6, 2026
4534bf2
fix(zmq): use JSON on wire, accept JSON keywords in parser (#492)
avinxshKD Mar 6, 2026
484593e
fix: replace concorekill.bat single-PID overwrite with safe PID regis…
GaneshPatil7517 Mar 4, 2026
26aa8f8
Address Copilot review: wmic validation, locking in register, larger …
GaneshPatil7517 Mar 4, 2026
f3299c0
fix #491: read() returns ReadResult with ReadStatus instead of silent…
avinxshKD Mar 8, 2026
142cc7c
Merge pull request #489 from GaneshPatil7517/fix/concorekill-pid-regi…
pradeeban Mar 9, 2026
2eb7478
Merge pull request #493 from avinxshKD/fix/zmq-json-interop
pradeeban Mar 9, 2026
b63d04a
Merge pull request #497 from avinxshKD/fix/read-status-wrapper
pradeeban Mar 9, 2026
ae39be0
feat: add concore doctor command for system readiness checks
GaneshPatil7517 Mar 9, 2026
a87437f
refactor: apply review suggestions to concore doctor
GaneshPatil7517 Mar 9, 2026
243ab44
style: apply ruff format to doctor.py and test_doctor.py
GaneshPatil7517 Mar 9, 2026
888f143
fix: replace Unicode symbols with ASCII for Windows cp1252 compatibility
GaneshPatil7517 Mar 9, 2026
a57666b
Merge pull request #499 from GaneshPatil7517/feature/concore-doctor-c…
pradeeban Mar 9, 2026
686ff9a
fix #496: add concore.java for local Java nodes
avinxshKD Mar 9, 2026
c874d5a
Merge pull request #501 from avinxshKD/fix/java-local-concore
pradeeban Mar 10, 2026
8b28ad5
feat(cli): generate STUDY.json for init and run outputs
GaneshPatil7517 Mar 15, 2026
b593e8e
style: apply ruff formatting for CLI metadata changes
GaneshPatil7517 Mar 15, 2026
937648c
fix(cli): keep metadata generation non-fatal in init/run
GaneshPatil7517 Mar 15, 2026
04f86fa
cpp: add read status result and params parse fix
avinxshKD Mar 16, 2026
9b75ea0
Merge pull request #504 from GaneshPatil7517/feature/study-json-metad…
pradeeban Mar 18, 2026
1ab06e2
Merge pull request #505 from avinxshKD/fix/cpp-read-status-498
pradeeban Mar 18, 2026
0d1d68d
mkconcore: add local Java build/run/debug (#507)
avinxshKD Mar 18, 2026
c898269
Merge pull request #508 from avinxshKD/fix/java-local-mkconcore
pradeeban Mar 21, 2026
b44e9a1
Add interactive mode to concore init CLI
GREENRAT-K405 Mar 25, 2026
b58ce09
Add interactive mode to concore init CLI
GREENRAT-K405 Mar 25, 2026
e17ad45
Update concore_cli/commands/init.py
GREENRAT-K405 Mar 25, 2026
a3a2b0c
Update concore_cli/commands/init.py
GREENRAT-K405 Mar 25, 2026
a277b6f
style: apply ruff formatting to init.py and cli.py
GREENRAT-K405 Mar 25, 2026
6c4f0f4
style: add TODO comment to C++ stub for consistency
GREENRAT-K405 Mar 25, 2026
ec7f18a
fix: update java stub in init interactive, make DEV-GUIDE.md containi…
GREENRAT-K405 Mar 26, 2026
c3fea64
Merge pull request #510 from GREENRAT-K405/feat-cli-init-interactive
pradeeban Mar 26, 2026
d86408e
feat(cli): add concore setup autodetect command
avinxshKD Mar 26, 2026
336f4f8
style: apply ruff formatting
avinxshKD Mar 26, 2026
7c5ea5b
Merge pull request #512 from avinxshKD/fix/setup-autodetect-506
pradeeban Mar 26, 2026
785b58c
Add concore editor to CLI
GREENRAT-K405 Mar 27, 2026
98e1a6f
Add concore editor to CLI
GREENRAT-K405 Mar 27, 2026
91bd9d9
Merge pull request #515 from GREENRAT-K405/feat/concore-editor-cli
pradeeban Mar 27, 2026
8d6d989
Fix: Replace hardcoded 256-byte shared memory buffer with 4096-byte S…
GaneshPatil7517 Mar 27, 2026
0af338c
Fix: Add nullptr guard for sharedData_create and shmctl segment size …
GaneshPatil7517 Mar 27, 2026
4f1454c
feat(cli): add optional docker-compose generation for docker runs
avinxshKD Mar 27, 2026
c628826
Merge pull request #517 from avinxshKD/fix/run-docker-compose-513
pradeeban Mar 28, 2026
0117838
replace concore run with concore build
GREENRAT-K405 Mar 28, 2026
393eabc
Merge pull request #519 from GREENRAT-K405/fix/replace-run-build
pradeeban Mar 28, 2026
6e59e9d
ci: add java phase-2 conformance coverage
avinxshKD Mar 28, 2026
2b37f9c
Merge pull request #521 from avinxshKD/fix/java-conformance-ci-phase2
pradeeban Mar 28, 2026
3f8fe0f
Merge pull request #516 from GaneshPatil7517/fix/shm-dynamic-allocati…
pradeeban Mar 28, 2026
8e1c043
add java end-to-end study example
avinxshKD Mar 29, 2026
fb19116
Merge pull request #523 from avinxshKD/fix/java-e2e-study-example-522
pradeeban Mar 30, 2026
9c50325
fix: resolve broken imports in cardiac_pm.py (#290)
GaneshPatil7517 Apr 1, 2026
011daaa
refactor: guard sys.path.insert and fix bare except (E722)
GaneshPatil7517 Apr 1, 2026
602d7f2
extend conformance matrix with read_file cases
avinxshKD Apr 1, 2026
c05e02d
Merge pull request #526 from GaneshPatil7517/fix/cardiac-pm-imports-290
pradeeban Apr 1, 2026
032faa9
Merge pull request #528 from avinxshKD/fix/extend-conformance-matrix-…
pradeeban Apr 1, 2026
3a44dbd
Docs: Add CONFIG.md documenting config files, env vars, and precedenc…
GaneshPatil7517 Apr 2, 2026
1d833d4
Docs: Apply review suggestions for CONCOREPATH and concore.repo descr…
GaneshPatil7517 Apr 2, 2026
9d9e038
cli: add JSON output for validate
Titas-Ghosh Apr 2, 2026
96b1330
style: format validate JSON output changes
Titas-Ghosh Apr 2, 2026
940a65a
Attempt to fix the workload integration failure.
pradeeban Apr 3, 2026
f63b1bd
Merge pull request #534 from ControlCore-Project/fix-build
pradeeban Apr 3, 2026
26c81b4
Merge pull request #530 from GaneshPatil7517/docs/config-schema-503
pradeeban Apr 3, 2026
dccbcd4
Merge pull request #533 from Titas-Ghosh/feat/validate-json-output
pradeeban Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Git
.git
.gitignore

# Python
__pycache__/
*.py[cod]
*$py.class
.Python
env/
venv/
ENV/
.venv/
Pipfile.lock

# Python Build / Distribution
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# C/C++ Build Artifacts
target/
*.o
*.out
*.so
*.dylib
*.dll
CMakeCache.txt
CMakeFiles/

# Testing and Coverage
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# IDE and OS files
.vscode/
.idea/
*.swp
*.swo
.DS_Store
Thumbs.db

Dockerfile*
docker-compose.yml
.dockerignore
55 changes: 55 additions & 0 deletions .github/workflows/PR-review.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: AI Code Reviewer

on:
issue_comment:
types: [created]

permissions:
contents: read
pull-requests: write
issues: write

jobs:
gemini-code-review:
runs-on: ubuntu-latest
if: |
github.event.issue.pull_request &&
contains(github.event.comment.body, '/gemini-review')
steps:
- name: PR Info
env:
#Assign untrusted inputs to environment variables first
COMMENT_BODY: ${{ github.event.comment.body }}
ISSUE_NUM: ${{ github.event.issue.number }}
REPO: ${{ github.repository }}
#Use shell variables ("$VAR") instead of template tags
run: |
echo "Comment: $COMMENT_BODY"
echo "Issue Number: $ISSUE_NUM"
echo "Repository: $REPO"

- name: Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: refs/pull/${{ github.event.issue.number }}/head

- name: Get PR Details
id: pr
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
ISSUE_NUM: ${{ github.event.issue.number }}
#Use env vars for the API call to prevent injection
#Use quotes around variables to prevent word splitting
run: |
PR_JSON=$(gh api "repos/$REPO/pulls/$ISSUE_NUM")
echo "head_sha=$(echo "$PR_JSON" | jq -r .head.sha)" >> $GITHUB_OUTPUT
echo "base_sha=$(echo "$PR_JSON" | jq -r .base.sha)" >> $GITHUB_OUTPUT

- uses: truongnh1992/gemini-ai-code-reviewer@main
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
GEMINI_MODEL: gemini-2.5-flash
EXCLUDE: "*.md,*.txt,package-lock.json"
97 changes: 97 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: CI

on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'

- name: Install ruff
run: pip install ruff

- name: Check formatting
run: ruff format --check .

- name: Lint
run: ruff check . --output-format=github

test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-ci.txt

- name: Run tests
run: |
pytest --tb=short -q \
--cov=concore_cli --cov=concore_base \
--cov-report=term-missing \
--ignore=measurements/ \
--ignore=0mq/ \
--ignore=ratc/ \
--ignore=linktest/

java-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'

- name: Download jeromq
run: |
curl -fsSL -o jeromq.jar https://repo1.maven.org/maven2/org/zeromq/jeromq/0.6.0/jeromq-0.6.0.jar

- name: Compile Java tests
run: |
javac -cp jeromq.jar concoredocker.java TestLiteralEval.java TestConcoredockerApi.java

- name: Run Java tests
run: |
java -cp .:jeromq.jar TestLiteralEval
java -cp .:jeromq.jar TestConcoredockerApi

docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Check if Dockerfile.py changed
uses: dorny/paths-filter@v3
id: filter
with:
filters: |
dockerfile:
- 'Dockerfile.py'
- 'requirements.txt'

- name: Validate Dockerfile build
if: steps.filter.outputs.dockerfile == 'true'
run: docker build -f Dockerfile.py -t concore-py-test .
41 changes: 41 additions & 0 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Greetings

on:
pull_request_target:
types: [opened]
issues:
types: [opened]

jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v3
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}

issue_message: |
👋 Welcome to the CONTROL-CORE Project, @${{ github.actor }}! Thank you for opening your first issue in concore.
We appreciate your contribution to the organization and will review it as soon as possible.

Before we get started, please check out these resources:
- 📚 [Project Documentation](https://control-core.readthedocs.io/)
- 📘 [Contribution Guidelines](https://github.com/ControlCore-Project/concore/blob/main/CONTRIBUTING.md)
- 📜 [Code of Conduct](https://github.com/ControlCore-Project/concore/blob/main/CODE_OF_CONDUCT.md)

pr_message: |
🎉 Welcome aboard, @${{ github.actor }}! Thank you for your first pull request in concore.

Please ensure that you are contributing to the **dev** branch.

Your contribution means a lot to us. We'll review it shortly.

Please ensure you have reviewed our:
- 📚 [Project Documentation](https://control-core.readthedocs.io/)
- 📘 [Contribution Guidelines](https://github.com/ControlCore-Project/concore/blob/main/CONTRIBUTING.md)
- 📜 [Code of Conduct](https://github.com/ControlCore-Project/concore/blob/main/CODE_OF_CONDUCT.md)

If you have any questions, feel free to ask. Happy coding!
39 changes: 38 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,38 @@
**/.DS_Store
# Python bytecode/cache
__pycache__/
*.pyc
*.pyo
*.pyd
*.py[cod]
*.class
*.so
.Python

# Virtual environments
venv/
env/
ENV/
.env/
.venv/

# IDE
.vscode/
.idea/

# Build/packaging
*.egg-info/
dist/
build/

# Testing
.pytest_cache/
htmlcov/
.coverage

# Concore specific
concorekill.bat

.claude
.codex
.cursor
_bmad
7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.12
hooks:
- id: ruff
args: [--output-format=full]
- id: ruff-format
20 changes: 8 additions & 12 deletions 0mq/comm_node.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
import concore
import concore2

concore.delay = 0.07
concore2.delay = 0.07
concore2.inpath = concore.inpath
concore2.outpath = concore.outpath
concore2.simtime = 0
concore.simtime = 0
concore.default_maxtime(100)
init_simtime_u = "[0.0, 0.0, 0.0]"
init_simtime_ym = "[0.0, 0.0, 0.0]"

u = concore.initval(init_simtime_u)
ym = concore2.initval(init_simtime_ym)
while(concore2.simtime<concore.maxtime):
ym = concore.initval(init_simtime_ym)
while(concore.simtime<concore.maxtime):
while concore.unchanged():
u = concore.read(concore.iport['U'],"u",init_simtime_u)
concore.write(concore.oport['U1'],"u",u)
print(u)
old2 = concore2.simtime
while concore2.unchanged() or concore2.simtime <= old2:
ym = concore2.read(concore.iport['Y1'],"ym",init_simtime_ym)
concore2.write(concore.oport['Y'],"ym",ym)
print("funbody u="+str(u)+" ym="+str(ym)+" time="+str(concore2.simtime))
old2 = float(concore.simtime)
while concore.unchanged() or concore.simtime <= old2:
ym = concore.read(concore.iport['Y1'],"ym",init_simtime_ym)
concore.write(concore.oport['Y'],"ym",ym)
print("funbody u="+str(u)+" ym="+str(ym)+" time="+str(concore.simtime))
print("retry="+str(concore.retrycount))
Loading
Loading