Repository navigation
docs: scope three-way merge to TypeScript and state port baselines and gaps - #473
Merged
Merged
Conversation
…es and known gaps per port
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
What Changed
docs/ports/*.md) anddocs/llms/llms-full.txtnow include a keep-your-ORM path: TypeScriptruntime: false(Zod and types, no Drizzle), Java and Kotlin DTO and value-object records alongside a hand-written JPA entity, sourceless C# POCOs, and Pydantic models in Python.codegen-data-shapes.md,migrations-and-drift.md,own-your-codegen.md),AGENTS.md,docs/llms/llms.txt, and the CLI README. The other ports document their hash-manifest refusal and eject behavior.docs/ports/java.mdstates the baselines (Java 21 and Spring Boot 3.x; Boot 2 andjavax.*unsupported) and each port page links its known gaps.docs/ports/typescript.mdnow leads with running on Node, with Bun second.CHANGELOG.mdgets an Unreleased Docs entry.Validation
Risk Assessment
✅ Low: Docs-only change. I checked the factual claims against source and they hold: Java 21 baseline, .NET 8, Kotlin 2.0.21, the eject and handEdits plugin options, the KNOWN_GAPS paths and the runtime:false target option. The only defect was one garbled sentence, fixed inline.
Testing
Docs-only change, so I drove the doc claims against the real tools in disposable projects. Live passes: the TS contract-only target writes Zod and types with no drizzle or runtime-ts import; a sourceless C# entity generates a DataAnnotations POCO with no EF mapping; C# and Python refuse an edited generated file by name instead of merging. The Java 21, Kotlin 2.0.21, .NET 8 and handEdits keep/overwrite statements were checked only by reading build files and mojo code; I did not run Java or Kotlin codegen live, nor
mvn metaobjects:eject. The repo'sci-local.sh --quickpassed. The C#, Java, Python and Kotlin conformance lanes are skipped by --quick and were not run. Throwaway projects remain under the evidence dir; worktree is clean.runtime: false, ejectsentity, runsmeta gen: output is Zod + types with no drizzle-orm or runtime-ts importdotnet meta gen: a POCO with DataAnnotations and no [Table]/DbSet is writtendotnet meta genoutput: 'refused: AuthorSummary.g.cs ... 0 file(s) written'metaobjects genentity generator writes Pydantic models with no ORM; hand-edited file refused on regenmvn metaobjects:ejectwas not run. Claims were checked only by reading java/pom.xml, codegen-k…Evidence: ci-local --quick log
Evidence: TS contract-only output (Zod + types, no drizzle)
Evidence: C# sourceless POCO output
Evidence: Python Pydantic entity output
Pipeline
Updates from git push no-mistakes
✅ **Intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
docs/ports/typescript.md:880- Inline fix: docs/ports/typescript.md Known gaps paragraph had a garbled sentence break ("manages its schema itself. and hand edits survive..."); changed to "Hand edits survive..." as a new sentence.docs/ports/typescript.md- typescript.md 'Keep your ORM' snippet callsentityFile({ target: "contract" })without an import. In 1.1.xentityFileexists only as an ejected generator (meta eject entity, thenimport { entityFile } from "./codegen/generators/entity"). A reader pasting the snippet getsentityFile is not a functionuntil they eject. Consider adding the eject step or the import line.runtime: false, ejectsentity, runsmeta gen: output is Zod + types with no drizzle-orm or runtime-ts importdotnet meta gen: a POCO with DataAnnotations and no [Table]/DbSet is writtendotnet meta genoutput: 'refused: AuthorSummary.g.cs ... 0 file(s) written'metaobjects genentity generator writes Pydantic models with no ORM; hand-edited file refused on regenmvn metaobjects:ejectwas not run. Claims were checked only by reading java/pom.xml, codegen-k…scripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchainsscripts/ci-local.sh --quick(full: ts build/typecheck, ts unit, conformance typescript, completeness-gate mutation, doc-template drift, embedded-library drift, site payload, shipped doc examples load, requirements ledger, hygiene) - passed; C#/Java/Python/Kotlin lanes skipped by --quickBaselinescripts/ci-local.sh --only ts-fast --only ts-unit --strict-toolchains(already green)Live:meta eject entity+meta genin a throwaway project using the doc'sruntime: falsetarget snippetLive: C# CLIinit+gen metaobjects --out ... --namespace Shopwith the doc's sourceless AuthorSummary entity, then hand-edit + regenLive: Pythonmetaobjects gen(entity generator), then hand-edit + regendotnet test MetaObjects.Codegen.Tests --filter SourcelessEntityGatesTests(9 passed)Checked doc facts against source (code reading only, not live): java/pom.xml<release>21, codegen-kotlin jvmTarget 21 / Kotlin 2.0.21, C# net8.0, GeneratorParam handEdits keep/overwrite, MetaDataEjectMojonamesproperty, four KNOWN_GAPS.md link targets exist✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.