This example shows the preferred everyday pattern.
Python is still only the authoring surface, but Observer now sees several granular targets tied to real product behavior.
The target set includes proofs such as:
compiler/emits-canonical-jsoncompiler/rejects-missing-unit-headerpackage/writes-license-metadata
That is much more valuable than one large wrapper target because inventory, reports, and compare artifacts now reflect the real verification surface.
multi-test-strategy/
Makefile
observer.toml
tests.obs
src/
package_tool.py
package_observer_host.py
make list
make inventory
make run
make reportEach target answers one product question.
When one target fails, you learn which contract regressed instead of only learning that one orchestration script exited nonzero.