Definition of done¶
A compatibility change is complete only when an established caller still sees
the promised behavior, the canonical Runtime owner remains visible, and the
change does not create a new reason to depend on agentic-proteins.
Completion gate¶
| Changed surface | Completion evidence | Blocking result |
|---|---|---|
| top-level import | forwarded objects retain identity with the Runtime export | a copied or independently implemented object replaces forwarding |
| CLI or HTTP route | request, response, exit, and error behavior agree with Runtime | the bridge invents a default, status, or error translation |
| execution or orchestration alias | state transitions and artifacts remain equivalent | bridge-only lifecycle or artifact meaning appears |
| provider or tool path | capability, isolation, and failure behavior remain explicit | optional provider failure changes the canonical run contract |
| public signature | legacy callers remain compatible and the Runtime alternative is documented | compatibility is preserved only through an undocumented coercion |
| retirement record | remaining callers and removal conditions are still measurable | the change adds an unowned permanent obligation |
Evidence path¶
flowchart LR
C["legacy caller"] --> B["agentic-proteins bridge"]
B --> R["canonical Runtime object or behavior"]
R --> E["identity or behavioral equivalence proof"]
E --> M["migration route and retirement record"]
M --> D{"complete?"}
D -->|equivalent and narrower| Y["yes"]
D -->|divergent or broader| N["no"]
Start with the proof closest to the changed promise:
tests/package/test_runtime_forwarding_import_contract.pyfor top-level Runtime identity;tests/package/test_import_forwarding.pyandtest_bridge_contracts.pyfor forwarding and retirement contracts;tests/interfaces/andtests/integration/test_cli.pyfor public transport behavior;tests/orchestration/test_run_invariants.pyandtests/integration/test_artifact_first.pyfor run and artifact meaning;tests/providers/for optional-provider isolation and failure semantics.
Run package checks after focused proof. A green package suite cannot justify a new bridge-owned policy; it only shows that the tested compatibility surface still behaves as declared.
Not complete¶
A change is not complete when it keeps an old entry point running by duplicating Runtime behavior, makes the migration destination less obvious, converts an explicit Runtime refusal into bridge fallback, or leaves removal dependent on an unnamed caller. Compatibility is a bounded obligation, not permission to grow a parallel product.