You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5f50008
Browse filesBrowse the repository at this point in the historyBrowse files
site: generators are reference helpers you own, with eject in every port
1.0.5 ships the core/helper line (ADR-0034 Amendment 3): what MetaObjects
guarantees is the model, the loader, migrate, verify and prompt render; every
generator is a reference helper you can copy into your repo and change. The
Codegen pillar now says so and names the eject command for each port.
The drift section said generated code "is owned by the codegen, not by humans or
agents", which contradicts owning a generator. It now says the model is the spine
and a build that disagrees with it fails.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M1mRRB1K2WdYy82kntMQdx
<pclass="pillar-maturity">All five ports, gated by the cross-port conformance corpora. Opt-in since 1.0.4: nothing generates until you choose.</p>
155
+
<p>One metadata model → idiomatic native code in five languages: <strong>Drizzle + Zod + Fastify/Hono</strong> (TS), <strong>Spring REST + DTO + repositories</strong> (Java), <strong>Exposed + KotlinPoet + Spring</strong> (Kotlin), <strong>EF Core + ASP.NET</strong> (C#), <strong>Pydantic + FastAPI</strong> (Python). Hand-edit-preserving regen via three-way merge. The generators are reference helpers, not the product: copy any of them into your repo with <code>eject</code> and the copy is yours to change. What MetaObjects guarantees is the model, the loader, <code>migrate</code>, <code>verify</code> and prompt render.</p>
156
+
<pclass="pillar-maturity">All five ports; every generator's output is compiled, and the generated APIs are run, in CI. Eject in every port since 1.0.5: <code>meta eject</code>, <code>metaobjects eject</code>, <code>mvn metaobjects:eject</code>, <code>dotnet meta eject</code>. Opt-in since 1.0.4: nothing generates until you choose.</p>
157
157
</article>
158
158
<articleclass="pillar">
159
159
<h3>Runtime metadata</h3>
@@ -194,7 +194,7 @@ <h3>Libraries</h3>
194
194
<sectionclass="drift" id="drift">
195
195
<h2class="section-label">Context is advisory. This is not: drift breaks the build.</h2>
196
196
<pclass="drift-intro">
197
-
AI coding agents regenerate thousands of lines a day. A field rename in one file misses three others — types compile, runtime breaks at the boundary, hours to chase. A required field added to an entity is forgotten in the migration, the validator, the form. A prompt template references <code>{{userName}}</code> while the payload type carries <code>user.name</code>. Without a shared spine, every prompt accelerates the entropy. MetaObjects inverts the source of truth: generated code is owned by the codegen, not by humans or agents.
197
+
AI coding agents regenerate thousands of lines a day. A field rename in one file misses three others — types compile, runtime breaks at the boundary, hours to chase. A required field added to an entity is forgotten in the migration, the validator, the form. A prompt template references <code>{{userName}}</code> while the payload type carries <code>user.name</code>. Without a shared spine, every prompt accelerates the entropy. MetaObjects inverts the source of truth: the model is the spine, generated code follows it, and a build that disagrees with it fails.
0 commit comments