Skip to content

Expose atomic Marten, Wolverine, and integration adapters #44

Description

@woksin

Learning

CritterStackScreenplayAdapter currently interprets Marten and Wolverine under one adapter identity, while its generator facade also composes Vogen. This obscures per-framework admission/version/provenance and pressures future stack combinations into facade ownership.

Desired migration

Add atomic classes in the existing package first:

  • Marten adapter;
  • Wolverine adapter;
  • narrow Wolverine–Marten integration adapter for semantics genuinely expressed by integration APIs;
  • retain CritterStackScreenplayAdapter and existing generator constructors as compatibility wrappers.

Cross-cutting Vogen/validation/value-object adapters remain independent. Atomic adapters never consume one another; neutral Generation derivation performs source-independent joins.

Acceptance criteria

  • Stable distinct adapter identities and implementation versions.
  • Each adapter has independent applicability/admission evidence and contribution provenance.
  • Marten-only execution cannot run Wolverine interpretation; Wolverine-only execution cannot invent Marten persistence.
  • Split-project applications are recognized across the selected application scope.
  • Integration adapter covers only exact coupled APIs and has explicit required capabilities.
  • Compatibility wrapper produces byte-identical current canonical output/diagnostics.
  • Reversed atomic adapter order is byte-identical.
  • Duplicate execution/IDs fail before analysis.
  • Existing public facade/package API remains source/binary compatible.
  • CLI can instantiate the atomic roster exactly once after its profile migration.

Related: Cratis/Screenplay.Generation#17, #29, #3, #4, Cratis/cli#87.

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