Skip to content

[P2][Decision] Align packaging promises with checkout-dependent runtime paths #668

Description

@realmarcin

Problem

CommunityMech currently presents two incompatible runtime models.

pyproject.toml defines a build backend and communitymech console script, implying that a wheel installation is supported. However:

  • package data declares only py.typed; schemas and Jinja templates are not explicitly shipped;
  • communitymech.paths derives a repository root from __file__ and expects kb, docs, caches, and reports beside the source checkout;
  • multiple commands read or write repository-owned artifacts by default;
  • paths.py already acknowledges that a wheel install resolves these locations incorrectly.

Priority

P2: this needs a human product and distribution decision. It should not block the immediate P0 safety fixes or P1 documentation corrections.

Decision options

A. Checkout-dependent repository application

  • State explicitly that CommunityMech commands run from an editable source checkout.
  • Avoid promising standalone wheel behavior.
  • Keep repository-relative defaults, but validate checkout presence and fail clearly.

B. Installable package and configurable data application

  • Ship schemas, templates, and other runtime package resources.
  • Resolve package resources with importlib.resources.
  • Make KB, cache, report, docs, and output roots configurable.
  • Define safe defaults for installed console-script use.

A hybrid is acceptable only if its boundary is explicit and tested.

Acceptance criteria

Activity

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

    high_effortOpen-ended or risky. Routed to the strongest model.needs-humanHard stop for agents. Ontology minting, deletions, schema changes.questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions