Skip to content

Derive exact entry-point usage joins from independent method facts #49

Description

@woksin

Learning

Atomic source adapters can independently prove a framework entry point and a library-owned method/query declaration or execution. Current CritterStack composition preserves Marten compiled-query behavior by calling Marten discovery directly from Wolverine interpretation, which violates the atomic-adapter boundary. Generation 0.17 has exact subjects/type-use derivation but no neutral method/entry-point usage join.

Scope

  • Add source-neutral declaration/use/entry-point facets keyed by exact project-qualified method/type subjects.
  • Derive an entry-point-to-used-artifact relationship from one fixed admitted snapshot.
  • Preserve producer/input/evidence lineage and explicit dispositions.
  • Support source-independent frontends and same-named overload/project isolation.

Non-goals

  • Marten or Wolverine API knowledge in Generation.
  • Adapter-to-adapter calls or registration-order joins.
  • Inferring use from names, source paths, package presence or runtime observations.

Acceptance criteria

  • Two adapters independently contribute entry-point and usage/declaration facets without consuming each other.
  • Exact overload/project subjects isolate same-named methods.
  • Missing, ambiguous and conflicting targets fail closed with typed diagnostics.
  • Derived facts retain canonical input FactIds and complete evidence lineage.
  • Adapter/project/fact permutation yields identical facts, diagnostics and .play.
  • CritterStack compiled-query compatibility output can migrate without a Wolverine-owned Marten reader.
  • Existing APIs and source-only lowering remain compatible.

Related: #17, #19, Cratis/Screenplay.CritterStack#44.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions