Skip to content

Comments

test: Add language-neutral protocol fixtures and Python runner (Phase 1)#443

Open
Titas-Ghosh wants to merge 2 commits intoControlCore-Project:devfrom
Titas-Ghosh:add-protocol-conformance-fixtures-phase1
Open

test: Add language-neutral protocol fixtures and Python runner (Phase 1)#443
Titas-Ghosh wants to merge 2 commits intoControlCore-Project:devfrom
Titas-Ghosh:add-protocol-conformance-fixtures-phase1

Conversation

@Titas-Ghosh
Copy link

Hi @pradeeban, as discussed in #440, here is the first PR to establish the protocol conformance infrastructure.

Summary

This PR introduces Phase 1 of the protocol conformance work in a strictly non-breaking, report only way.
It adds a language neutral fixture format and a Python conformance runner to establish an observable baseline for core protocol behavior, without changing any runtime logic.

Recent testing improvements added strong coverage, but we still lack a reusable conformance layer that can be extended across bindings in later phases. This PR lays the foundation by focusing purely on baseline infrastructure and Python verification.

Scope (Phase 1 only)

  • Fixture Schema: Added tests/protocol_fixtures/schema.phase1.json
  • Python Cases: Added initial fixture cases in tests/protocol_fixtures/python_phase1_cases.json
  • Documentation: Added the protocol contract/docs in tests/protocol_fixtures/PROTOCOL_FIXTURES.md
  • Test Runner: Added the Python conformance runner in tests/test_protocol_conformance.py

Safety / Non-Goals

  • NO runtime behavior changes in concore.py, concoredocker.py, or any other runtime files.
  • NO cross-language enforcement in this PR.
  • NO CI gate tightening or failing builds in this PR.

Validation

Command Executed:

python -m pytest -v tests/test_protocol_conformance.py

Result:

  • 7 tests passed (fixture schema + conformance cases for parse_params, initval, and write_zmq).

Evidence

1) Minimal PR Scope & Line Impact

Screenshot 2026-02-21 205441 Screenshot 2026-02-21 205502

2) Conformance Runner Passing

Screenshot 2026-02-21 205527

Next Phase (separate PR)

If you think this foundation is proper and can be merged , then the next steps that i will be working on are :

  • Expand adapters/runners for other bindings in baseline mapping mode.
  • Classify differences as required, implementation_defined, or known_deviation before any enforcement.

Happy to iterate based on your feedback!

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.

1 participant