projspec — Issues noted during introspection (2026-04-15)
==========================================================

3. Streamlit.parse() imports wrong CondaEnv
   webapp.py:101: `from projspec.content.environment import PythonRequirements, CondaEnv`
   The `CondaEnv` in content/environment.py is a ProjectExtra, not an
   artifact class. The import is likely intended for the artifact
   CondaEnv (artifact/python_env.py) and would fail at runtime in the
   current form.

4. DVCRepo.parse() stores a plain list, not a BaseContent instance
   datapackage.py: self.contents["remotes"] is assigned a plain Python
   list, inconsistent with the parse() contract requiring BaseContent
   instances.

5. DataPackage.parse() stores a plain list for frictionless_data
   datapackage.py: self.contents["frictionless_data"] is assigned a plain
   list of TabularData rather than an AttrDict, inconsistent with the
   grouping convention.

7. scan_max_size default is very small (5 KiB)
   config.py: default scan_max_size is 5 * 2**10 = 5120 bytes. Content-
   scanning specs (UvScript, Marimo, Flask, FastAPI, Dash, Panel) will
   silently miss any source file larger than 5 KiB.
