Migration identity#
- Canonical identifier:
S01.2(GitHub issue type: subtask). - Legacy identifier:
C01.2(retained asold_identifier). - Parent epic:
E01. - Milestone:
M1 — IntentGuard Weekend MVP.
Objective#
Create a valid Python 3.11 src-layout package with only approved dependencies, a validated uv.lock, and explicit unresolved revision gates.
Rationale#
Reproducible dependencies and honest provenance placeholders prevent silent environment and model drift.
Parent identifier#
E01.
Source task#
T-001.
Traceability#
Primary: NFR-003, NFR-008. Secondary: FR-010.
Prerequisites#
Python 3.11 available through uv; dependency families justified by the specification.
Likely files#
pyproject.toml, uv.lock, configs/default.toml, src/intentguard/__init__.py, src/intentguard/config.py, tests/unit/test_package.py, tests/unit/test_config.py.
Implementation boundary#
Package/config loading only; no data download, model import at module load, training, evaluation, or serving behavior.
MUST scope#
Metadata, build backend, runtime/dev dependencies, Ruff/mypy/pytest config, exact Python line, lock generation, identifiers, and revision gates.
Explicit non-goals#
CUDA claims, dependency families outside the approved list, model weights, or hidden environment defaults.
Acceptance criteria#
TOML parses; build metadata validates; lock is current; locked sync completes; package/config import tests pass; revisions remain explicitly unresolved until verified.
Validation commands#
uv lock --check && uv sync --locked --all-groups && uv run --locked pytest tests/unit/test_package.py tests/unit/test_config.py -q.
Expected evidence#
Resolved lock graph, Python 3.11 environment, import output, and configuration assertions.
Fallback and status consequence#
An unlocked or incompatible environment makes U01 Partial and blocks all measured claims.
Stop condition#
Stop for unapproved dependency need, unsatisfied Python constraint, lock divergence, or invented revision hash.
Definition of ready#
Dependency and identifier choices match the specification and local uv is available.
Definition of done#
The locked environment installs reproducibly and all package/config foundation checks pass.
Labels#
type:subtask, priority:MUST, area:foundation
Estimate#
0.5 hour.