Skip to content

Add target extension contract#17

Merged
rickardvh merged 2 commits into
masterfrom
codex/14-target-extension-contract
Jun 13, 2026
Merged

Add target extension contract#17
rickardvh merged 2 commits into
masterfrom
codex/14-target-extension-contract

Conversation

@rickardvh

Copy link
Copy Markdown
Owner

Summary

  • Add a checked command-generation/target-extension/v1 schema and public API for target extension contracts.
  • Validate that targets do not own product operation semantics or require per-operation feature maintenance.
  • Add support-declaration matrix projection for implemented targets.
  • Document the target-extension boundary in the README.

Validation

  • uv run pytest tests/test_public_api.py -q
  • uv run ruff check src tests
  • uv run pytest -q

Fixes #14

Copy link
Copy Markdown
Owner Author

This is the right ownership direction for command-generation#14. The target-extension contract belongs in command-generation, and the explicit constraints that targets must not own product semantics or per-operation feature maintenance are exactly the boundary AW needs to consume.

One concern before merge: the schema appears to exist in two places, schemas/target_extension.schema.json and src/command_generation/schemas/target_extension.schema.json. If both are source-owned copies, this creates drift risk for the contract that is supposed to become authoritative.

Please either:

  • make one location the clear source of truth and generate/copy the other from it; or
  • add a check/test proving the two copies remain byte-for-byte or semantically identical.

The important point is that consumers should not have to guess which target-extension schema is authoritative.

@rickardvh rickardvh merged commit 7a965c9 into master Jun 13, 2026
@rickardvh rickardvh deleted the codex/14-target-extension-contract branch June 13, 2026 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support target extensions and IR-derived conformance as reusable generated-code machinery

1 participant