chore: drop coglet-alpha selection #2669
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Rationale
Testing
Extensive evaluation between
coglet-alphaand thecog-dataclasspython was done to determine meaningful behavioral differences. There are minor deltas that are real but for the most part will not cause breakages when someone is usingcog-dataclassin lieu ofcoglet-alphapython code.The high level summary is as follows:
Coglet Behavior Comparison — High-Level Summary
High-Level Summary
The two implementations are structurally similar, but not behavior-equivalent. Core differences cluster around defaults handling, error types/messages, output validation rules, and schema generation. These are likely to surface as compatibility issues if callers rely on exact error text or schema shapes.
Verdict
Close, but not interchangeable. You can treat them as conceptually similar, but exact behavior diverges in enough places to be considered breaking for strict clients.
Top Risk Areas
Defaults & AST validation
cog-runtimeenforces default-Noneguardrails via AST checks;cog-dataclassdoes not.cog-dataclassaddsdefault_factoryand mutable-default normalization.Error types and message formats
cog-runtimeraisesAssertionErrorwith “invalid input value …” messages.cog-dataclassraisesValueErrorwith different, often shorter, message formats.Output model constraints
cog-runtimerequires output type namedOutputand forbids list fields.cog-dataclassallows anyBaseModelname and list fields.Schema generation strategy
cog-runtimeinjectsInput/Outputinto a static OpenAPI template.cog-dataclassconstructs full OpenAPI schema programmatically.The key elements to specifically highlight are:
coglet-alphausers if defined asOutputwill seeOutput, we however do not enforce thisAdditionally use of some long deprecated types (
File) will break under cog-dataclass. This can be maintained by utilizing an older cog-sdk pre-dataclass.