feat(core): describe calculation inputs and outputs without execution

Merged
VI
22d ago
+707-2

Summary

Python calculation source
  describe without execution
    input and output metadata
    entry identity and source closure
      core definition contract

Provides the definition used to derive a local input form and validate calculation requests. Includes the merged #63 and concentrated test suite from #65; based on current main.

Evidence

  • Before: python -m cso_python describe failed with an invalid command error.
    After: The refreshed installed-wheel suite and concentrated TypeScript suite cover the definition workflow, including declared legacy input types and regenerated bindings. The two-panel integration test confirms definition/execution identity and independently checks area, volume and mass.
  • Before: No shared contract represented calculation inputs and outputs before execution.
    After: Definition validation rejects mismatched entry identity, invalid defaults and inconsistent source closures. Review fixes use explicit diagnostic codes, validate duplicate manifest diagnostics, guard the no-execution fixture edit, and include subprocess output on JSON failures. Changing a legacy input’s declared numeric type now changes its fingerprint and generated binding signature; ordinary matching-type fingerprints remain unchanged.

Current verification

Merged current main to incorporate the reduced suite and title-viewport CI fix. On cd512e6, CI passes all 675 tests (565 TypeScript and 110 Python), lint, typechecking, package isolation, installed-package consumers and CodeQL. All five original review threads are addressed and resolved.

Merge Danger

Door: two-way

Adds a command and contract. Regenerate bindings for legacy calculations whose declared input type differs from their documented given-row type; their interface fingerprints now include both types.

Blast Radius: authoring

Consumers can use declared numeric types, defaults, units and source identity without running authored calculations.