AGENTS.md@infrastructure/core/pipeline/artifacts · git:20261006.d465449 · 2026-10-06 · sha256 f0970e9e4dc8acef

AGENTS.md@infrastructure/core/pipeline/artifacts git:20261006.d465449A

Immutable. This exact content never changes and is served at /api/v1/blob/f0970e9e4dc8acef.

# infrastructure/core/pipeline/artifacts/ — Artifact Manifest Package

## Purpose

Stable output inventory scanning and stage artifact manifest I/O for pipeline
reproducibility controls. Split from the former single-module `artifacts.py`
(898 lines) to satisfy the line-count gate; the public import path is unchanged.

## Layout

| Module | Responsibility |
| --- | --- |
| [`__init__.py`](__init__.py) | Public artifact inventory and manifest exports |
| [`_inventory.py`](_inventory.py) | Git-ignore evaluation, stable shippable output inventory |
| [`_manifest.py`](_manifest.py) | Manifest schema, write/aggregate/validate, `declared_output_paths` |

## Contracts

- Callers import from `infrastructure.core.pipeline.artifacts` only.
- `declared_output_paths` is the canonical output contract parser.
- `_git_ignore_matches` is exported for infra tests that pin git-ignore semantics.

## Verification

```bash
uv run pytest tests/infra_tests/core/test_pipeline_control_artifacts.py \
  tests/infra_tests/core/pipeline/test_artifact_finalization.py -q
uv run python scripts/gates/module_line_count_check.py
```

## See Also

- [`README.md`](README.md)
- [`../AGENTS.md`](../AGENTS.md)