IntentGuard

S01.2 — Configure Python packaging, lockfile, and reviewed defaults

Planning / historicaltaskdelivery

Historical

Planning material. It summarizes and links to the authoritative specification and the current measured state — it does not replace either, and it is not current engineering truth.

Migration identity#

  • Canonical identifier: S01.2 (GitHub issue type: subtask).
  • Legacy identifier: C01.2 (retained as old_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.

Related in repository

Open in full graph →
DOCUMENTED_BYDOCUMENTED_BY — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.md § S01.2 — Configure Python packaging, lockfile, and reviewed defaultsREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdREFERENCESREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.mdPART_OF — source: docs/backlog/TRACEABILITY.md § Non-functional requirementsPART_OF — source: docs/backlog/TRACEABILITY.md § Non-functional requirementsPART_OF — source: docs/backlog/TRACEABILITY.md § Non-functional requirementsREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.md § TraceabilityREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.md § TraceabilityREFERENCES — source: docs/backlog/tasks/C01.2-python-packaging-lock-config.md § TraceabilityREFERENCES — source: docs/backlog/umbrellas/U01-project-foundation.md § TraceabilityREFERENCES — source: docs/backlog/umbrellas/U01-project-foundation.md § TraceabilityREFERENCES — source: docs/backlog/umbrellas/U01-project-foundation.md § TraceabilityREFERENCES — source: docs/backlog/umbrellas/U01-project-foundation.md § TraceabilityRELATED_TO — source: docs/backlog/umbrellas/U01-project-foundation.md § Migration identityCURRENTdocument: S01.2 — Configure Python packaging, lockfile, and reviewed defaultsS01.2task: S01.2E01epic: E01FR-010 — Reproducible co…requirement: FR-010 — Reproducible commandsNFR-003 — Reproducibilityrequirement: NFR-003 — ReproducibilityNFR-008 — Dependency con…requirement: NFR-008 — Dependency controlT-001 — Locked validated…task: T-001 — Locked validated repository skeletonU01 — Project foundation…capability: U01 — Project foundation and reproducibility
Hover an edge for its provenance · click a node to open it8 nodes · 19 edges