Repository navigation
Commit c8b168b
authored
fix: canonicalize decimal wire and close 1.1.0 release review findings (#445)
* fix: close the 1.1.0 release review findings before rc.7
Fixes everything the 1.1.0 release review found, plus the adopter-found
`eject --list` defect, and closes the test gaps it named.
- Decimals: one canonical string on the wire in every port (W1-W4), a
shared decimal-wire corpus and an api-contract decimal/ sub-corpus, exact
filter operands, and 400 validation past @precision/@scale. The stronger
assertions found the TypeScript TPH polymorphic read sending a
subtype-only decimal uncanonicalized; fixed in the generator.
- Report lanes: every port runs the report scenarios on SQLite and MySQL
(Java OMDB SQLiteDriver, Python SQLite/MySQL drivers), the Java report
lane is database-backed, and the Cube lane queries every exporter shape.
- Loader: four more report shapes refused (D5, M10, R10, R11), an integral
float accepted where an int is declared, the requirement package and
ERR_UNRESOLVED_SUPER hint fixed.
- eject --list reports owned companion files; JVM and Python naming
discovery; TS forms step/inputMode; config unknown keys warn.
- Breaking (recorded in CHANGELOG and the 1.0-to-1.1 upgrade guide): C#
scalar and enum arrays are IList<T>; a Java POJO redeclaring an inherited
field with another subtype is standalone; Kotlin gains per-package
MetaDecimalWire.kt and MetaPortableColumnTypes.kt.
* no-mistakes(review): Canonicalize decimal arrays element-wise; document fractional validator bounds
* no-mistakes(review): Coerce and range-check decimal array elements in Python and Kotlin
* no-mistakes(document): Fixed stale decimal-array and eject docs. Review-2 CHANGELOG and upgrade-guide fixes were already present in the diff. Edited the reporting skill decimal line (source plus five fixture copies, which mirror it) to the canonical-string rule, and added the companion-file clause to the own-your-codegen eject --list bullet.1 parent 58e22b2 commit c8b168b
688 files changed
Lines changed: 24116 additions & 2463 deletions
File tree
- .github/workflows
- agent-context/skills
- metaobjects-authoring/references
- metaobjects-codegen/references
- client/web/packages/react
- src
- test
- docs
- features
- migrations
- ports
- superpowers/specs
- examples
- advanced-modeling/codegen
- generators
- runtime
- drizzle-fastify
- templates
- showcase
- .metaobjects/.gen-state
- codegen
- generators
- runtime
- drizzle-fastify
- templates
- generated
- csharp
- python
- fixtures
- agent-context-conformance
- java-kotlin-react-tanstack/expected/.claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen/references
- java-react/expected/.claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- metaobjects-codegen/references
- python/expected/.claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- ts-react-tanstack/expected/.claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- ts-requirements/expected/.claude/skills
- metaobjects-audit/references
- metaobjects-authoring/references
- api-contract-conformance
- decimal
- scenarios
- projection
- scenarios
- report
- scenarios
- tph
- scenarios
- conformance
- attr-int-integral-float
- input
- error-attr-int-fractional
- input
- error-dimension-over-object
- input
- error-dimension-via-base-lacks-field
- input
- error-extends-bare-cross-package
- error-measure-default-on-count-integral-float
- input
- error-measure-default-on-count-non-numeric
- input
- error-measure-over-object
- input
- error-report-abstract
- input
- error-report-source-kind-materialized-view
- input
- error-report-source-kind-stored-proc
- input
- error-report-source-kind-table-function
- input
- error-requirement-level-fractional
- input
- measure-default-integral-float
- input
- overlay-explicit-package-not-applied-to-target
- input
- requirement-level-integral-float
- input
- cube-model
- canonical
- expected/model/cubes
- dimension-time-two-grains/expected/model/cubes
- report-sourceless
- decimal-wire
- persistence-conformance
- canonical
- migrations
- queries
- requirement-check-conformance
- package-overlay-child-from-other-package-file
- input
- package-overlay-child-from-packageless-file
- input
- package-packageless-file-beside-packaged
- input
- source-resolution-conformance
- scripts
- lib
- server
- csharp
- MetaObjects.Codegen.Tests
- MetaObjects.Codegen
- ApiDocs
- Generators
- Runtime
- MetaObjects.Conformance.Tests
- MetaObjects.IntegrationTests
- Api
- Generated
- Runner
- MetaObjects
- Core/Requirement
- Loader
- java
- codegen-base/src/main/java/com/metaobjects/generator/direct/object
- javacode
- codegen-kotlin-exposed1x-check/src/test/kotlin/com/metaobjects/generator/kotlin/exposed1x
- codegen-kotlin
- src
- main/kotlin/com/metaobjects/generator/kotlin
- test
- kotlin/com/metaobjects/generator/kotlin
- resources/snapshots
- entity-with-controller/acme/blog
- entity-with-decimal-float-filter/acme/catalog
- entity-with-tph/acme/auth
- entity-with-view/acme/report
- codegen-spring
- src
- main/java/com/metaobjects/generator
- spring
- runtime
- test/java/com/metaobjects/generator/spring
- runtime
- core-spring/src
- main/java/com/metaobjects/spring
- test/java/com/metaobjects/spring
- integration-tests-kotlin
- src/test/kotlin/com/metaobjects/integration/kotlin
- api
- decimal
- generated
- jsonb
- generated
- m2m
- projection
- report
- generated
- tph
- writethrough
- spring
- tables
- integration-tests
- src/test/java/com/metaobjects/integration
- api
- generated
- m2m
- maven-plugin/src
- main/java/com/metaobjects/mojo
- test/java/com/metaobjects/mojo
- metadata/src
- main/java/com/metaobjects
- attr
- config
- loader
- parser/json
- reporting
- test/java/com/metaobjects
- config
- conformance
- loader
- reporting
- omdb
- src
- main/java/com/metaobjects/manager/db/driver
- test/java/com/metaobjects/manager/db/driver
- python
- src/metaobjects
- codegen
- generators
- runtime
- config
- loader
- meta
- core/attr
- runtime
- tests
- codegen
- config
- conformance
- integration
- loader
- runtime
- unit
- typescript/packages
- cli
- src
- commands
- lib
- test
- codegen-ts-react
- src/templates
- test
- codegen-ts
- src
- cube
- generators
- reference
- templates
- test
- cube
- projection
- templates
- conformance
- src
- test
- integration-tests
- cube-live
- src
- test
- metadata
- src
- core
- attr
- reporting
- requirement
- loader
- test
- conformance
- migrate-ts
- src
- emit
- test
- integration
- runtime-ts
- src
- drizzle-fastify
- hono
- test
- sdk
- src
- agent-context
- test
- agent-context
- test-generators/src
- generators
- templates
- spec
- decisions
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
44 | 51 | | |
45 | 52 | | |
46 | 53 | | |
| |||
75 | 82 | | |
76 | 83 | | |
77 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
78 | 88 | | |
79 | 89 | | |
| 90 | + | |
80 | 91 | | |
81 | 92 | | |
82 | 93 | | |
83 | | - | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
36 | 41 | | |
37 | 42 | | |
38 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
42 | 47 | | |
43 | 48 | | |
44 | 49 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
31 | 36 | | |
32 | 37 | | |
33 | 38 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
0 commit comments