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
Problem
CommunityMech currently presents two incompatible runtime models.
pyproject.tomldefines a build backend andcommunitymechconsole script, implying that a wheel installation is supported. However:py.typed; schemas and Jinja templates are not explicitly shipped;communitymech.pathsderives a repository root from__file__and expectskb,docs, caches, and reports beside the source checkout;paths.pyalready 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
B. Installable package and configurable data application
importlib.resources.A hybrid is acceptable only if its boundary is explicit and tested.
Acceptance criteria
CLAUDE.mdthrough [P1] Rebuild README quick start and examples from executable repository behavior #665 and [P1] Rewrite CLAUDE.md as a current operational guide for agents #666 to reflect the decision.site-packagesor an ephemeral virtual environment under any supported mode.