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.py Monolithic stir module replaced (707 lines removed)
  • __init__.py New stir package init (7 lines)
  • cli.py Stir CLI commands extracted (129 lines)
  • config.py Stir configuration loading (39 lines)
  • display.py Rich display and output formatting (95 lines)
  • executor.py Test execution orchestration (228 lines)
  • models.py Data models for stir results (26 lines)
  • reporting.py Test result reporting (78 lines)
  • terraform.py Terraform 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__.py
    • cli.py
    • config.py
    • display.py
    • executor.py
    • models.py
    • reporting.py
    • terraform.py

Go harness implementation

4 files changed
  • main.go Unified Go harness with cobra CLI for CTY, HCL, Wire, and RPC subcommands (251 lines)
  • Makefile Go build system for soup-go harness (77 lines)
  • go.mod Go module definition
  • go.mod Nested 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
    • Makefile
    • go.mod
    • go.mod

Centralized configuration defaults

2 files changed
  • defaults.py Project-wide default constants for ports, paths, and timeouts (62 lines)
  • defaults.py Package-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.py
    • defaults.py

Build and test configuration overhaul

4 files changed
  • pyproject.toml Major restructuring of dependencies, build settings, and pytest configuration (~89 line changes)
  • pytest.ini Removed standalone pytest.ini in favor of pyproject.toml configuration
  • settings.local.json Updated Claude Code settings
  • .env.test Test environment variables (20 lines)
  • Major pyproject.toml restructuring of dependencies, build system settings, and pytest configuration baseline internal
    1 file
    • pyproject.toml
  • Removed standalone pytest.ini in favor of pyproject.toml configuration, added .env.test for test environment variables baseline internal
    2 files
    • pytest.ini
    • .env.test

Conformance test marker updates

6 files changed
  • souptest_cty_compat.py Added skip markers
  • souptest_cty_interop.py Added skip markers
  • souptest_cross_language_interop.py Added cross-language test scenarios
  • test_rpc_kv_matrix.py Added RPC matrix test markers
  • test_harness_conformance.py Comprehensive harness conformance tests (301 lines)
  • conftest.py Shared 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.py
    • souptest_cty_interop.py
    • souptest_cty_logic.py
    • souptest_skippable.py
    • souptest_hcl_logic.py
    • souptest_codec.py
    • souptest_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.py
    • conftest.py

Source module cleanup

3 files changed
  • docs.py.bak Removed obsolete backup file (892 lines)
  • verify_headers_footers.py Removed no-longer-needed verification script (213 lines)
  • wrknv.toml Removed 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.bak
    • verify_headers_footers.py
    • wrknv.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.py
    • config.py
    • app.py
    • _version.py
    • cli.py
    • client.py
    • workenv_integration.py