Skip to content

Cross-port codegen audit: subtype-proxy persistence gating in Java/Python/Kotlin/C# generators #251

Closed as not planned

Description

@dmealing

Follow-up from #248 (PR #249), design spec §9b.

#248 fixed the TypeScript migrate-ts + codegen-ts fail-open where "is this object a DB thing?" was decided by an object-subtype compare instead of by declared/inherited source.* presence. The Java (codegen-spring), Python, Kotlin, and C# generators emit repositories/controllers/DTOs — audit whether their emission gates are the same subtype-proxy with a sourceless fail-open.

Schema/DDL is TS-owned (ADR-0015), so no other port emits CREATE TABLE — lower stakes than the TS half — but the durable principle is the same: DB participation derives from source.*, never from a subtype name. A sourceless custom object.* subtype (or a plain sourceless entity) should not get a generated repository/controller.

Same family as the #228 out-of-scope cross-port audit list. Ref: §9b.

Activity

  1. dmealing commented on Aug 2, 2026

    @dmealing
    MemberAuthor

    Closing — not tracking as a separate issue. This deferred item remains documented in the #248 design spec (docs/superpowers/specs/2026-08-01-issue-248-persistability-from-source-design.md §9) on main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions