tofusoup
2025-09-11
Restructured stir module into package and added Go harness
90 files · 2,319+ · 2,337-
Stir module decomposition
9 files changed
stir.pyMonolithic stir module replaced (707 lines removed)__init__.pyNew stir package init (7 lines)cli.pyStir CLI commands extracted (129 lines)config.pyStir configuration loading (39 lines)display.pyRich display and output formatting (95 lines)executor.pyTest execution orchestration (228 lines)models.pyData models for stir results (26 lines)reporting.pyTest result reporting (78 lines)terraform.pyTerraform command execution (147 lines)
- Decomposed the monolithic src/tofusoup/stir.py (707 lines) into a stir/ package with seven focused modules for CLI, config, display, executor, models, reporting, and terraform execution
decouple
architectural
9 files
stir.py__init__.pycli.pyconfig.pydisplay.pyexecutor.pymodels.pyreporting.pyterraform.py
Go harness implementation
4 files changed
main.goUnified Go harness with cobra CLI for CTY, HCL, Wire, and RPC subcommands (251 lines)MakefileGo build system for soup-go harness (77 lines)go.modGo module definitiongo.modNested Go module definition
- Added the soup-go unified Go harness (main.go, 251 lines) with cobra-based CLI routing for CTY, HCL, Wire, and RPC subcommands
instantiate
behavioral
1 file
main.go
- Added Go Makefile and module definitions for building the harness
baseline
internal
3 files
Makefilego.modgo.mod
Centralized configuration defaults
2 files changed
defaults.pyProject-wide default constants for ports, paths, and timeouts (62 lines)defaults.pyPackage-level configuration defaults (62 lines)
- Created config/defaults.py and src/tofusoup/config/defaults.py containing project-wide default constants (ports, paths, timeouts) to eliminate hardcoded values throughout the codebase
instantiate
behavioral
2 files
defaults.pydefaults.py
Build and test configuration overhaul
4 files changed
pyproject.tomlMajor restructuring of dependencies, build settings, and pytest configuration (~89 line changes)pytest.iniRemoved standalone pytest.ini in favor of pyproject.toml configurationsettings.local.jsonUpdated Claude Code settings.env.testTest environment variables (20 lines)
Conformance test marker updates
6 files changed
souptest_cty_compat.pyAdded skip markerssouptest_cty_interop.pyAdded skip markerssouptest_cross_language_interop.pyAdded cross-language test scenariostest_rpc_kv_matrix.pyAdded RPC matrix test markerstest_harness_conformance.pyComprehensive harness conformance tests (301 lines)conftest.pyShared test fixtures (33 lines)
- Added skip markers and configuration guards to all conformance test suites allowing selective test execution when harnesses are unavailable
qualify
internal
7 files
souptest_cty_compat.pysouptest_cty_interop.pysouptest_cty_logic.pysouptest_skippable.pysouptest_hcl_logic.pysouptest_codec.pysouptest_edge_cases.py
- Added tests/test_harness_conformance.py (301 lines) with comprehensive tests validating Go harness build, execution, and output correctness
qualify
behavioral
2 files
test_harness_conformance.pyconftest.py
Source module cleanup
3 files changed
docs.py.bakRemoved obsolete backup file (892 lines)verify_headers_footers.pyRemoved no-longer-needed verification script (213 lines)wrknv.tomlRemoved task runner config (19 lines)
- Removed src/tofusoup/docs.py.bak (892 lines), verify_headers_footers.py (213 lines), and wrknv.toml (19 lines)
decouple
internal
3 files
docs.py.bakverify_headers_footers.pywrknv.toml
- Updated numerous source modules with minor fixes across browser UI, version module, crypto utilities, serialization, HCL CLI, RPC client, and workenv integration
decouple
internal
7 files
cli.pyconfig.pyapp.py_version.pycli.pyclient.pyworkenv_integration.py