Skip to content

ADR-278: ADR-191 ADR-278 1 OOP Pipeline: DVC wiring for intent stages - #218

Merged
jodavis merged 7 commits into
feature/ADR-191-oop-ml-pipelinefrom
dev/claude/ADR-278-dvc-pipeline
Jun 13, 2026
Merged

ADR-278: ADR-191 ADR-278 1 OOP Pipeline: DVC wiring for intent stages#218
jodavis merged 7 commits into
feature/ADR-191-oop-ml-pipelinefrom
dev/claude/ADR-278-dvc-pipeline

Conversation

@jodavis

@jodavis jodavis commented Jun 11, 2026

Copy link
Copy Markdown
Owner

ADR-278: Wire intent stages into DVC pipeline

Closes ADR-278.

Summary

Wires the two OOP intent-stage entry-points (intent_01_generate_phrases.py and intent_02_compute_vocab.py) into DVC, completing Task 3b of the OOP ML pipeline feature.

Changes

File Action
ml/params.yaml Added pipeline.input_phrases_path: scripts/intent_prediction/01_input_phrases.csv
ml/download_phoneme_dictionary.py Created — downloads cmudict-0.7b from CMU Sphinx SVN to data/phoneme_dictionary/cmudict-0.7b
ml/dvc.yaml Created — defines three stages: download_phoneme_dictionary, generate_phrases, compute_vocab
ml/.dvc/config Created — sets adr-ml-training-data as the default S3 remote (s3://adr-ml-training-data/dvc)
ml/.dvc/.gitignore Created — ignores /tmp and /cache inside .dvc/
ml/.gitignore Created — ignores .dvc/tmp, .dvc/cache, and /data/

Key Decisions

  • DVC subdirectory init: .dvc/config and .dvc/.gitignore written directly; dvc init --subdir can be run once from ml/ if DVC reports missing internals.
  • cmd hardcodes input phrases path: DVC ${} interpolation in cmd only works in foreach stages; path is hardcoded in cmd and tracked via params: so DVC re-runs if the param changes.
  • download_phoneme_dictionary.py written from scratch: stdlib-only (urllib.request.urlretrieve); no prior version found in git history.
  • persist: true not used: Neither intent stage uses ModifierStage.

Validation

validate-build and validate-tests pass — no C# or Python unit test changes.

dvc repro (cwd ml/) will: download CMU dict → generate phrase variants → compute vocab.

@github-actions

github-actions Bot commented Jun 11, 2026

Copy link
Copy Markdown

Test Results

401 tests  ±0   401 ✅ ±0   2m 17s ⏱️ - 1m 3s
  5 suites ±0     0 💤 ±0 
  5 files   ±0     0 ❌ ±0 

Results for commit 7aa11f5. ± Comparison against base commit 64bc069.

♻️ This comment has been updated with latest results.

Comment thread ml/.dvc/.gitignore
Comment thread ml/download_phoneme_dictionary.py Outdated
Comment thread ml/download_phoneme_dictionary.py Outdated
Comment thread ml/dvc.yaml Outdated
@jodavis
jodavis enabled auto-merge (squash) June 12, 2026 22:59
ElwoodMoves and others added 7 commits June 13, 2026 07:26
… stage names

- Move ml/download_phoneme_dictionary.py to ml/pipeline/download_phoneme_dictionary.py
  so it lives alongside other pipeline scripts
- Add --output-dir argument to the download script instead of hardcoding the path
- Prefix all dvc.yaml stage names with intent_NN_ to match the script naming convention
- Update dvc.lock to reflect renamed stages and updated cmd

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@jodavis
jodavis force-pushed the dev/claude/ADR-278-dvc-pipeline branch from 220a52d to 7aa11f5 Compare June 13, 2026 14:26
@jodavis
jodavis merged commit 127a32f into feature/ADR-191-oop-ml-pipeline Jun 13, 2026
3 checks passed
@jodavis
jodavis deleted the dev/claude/ADR-278-dvc-pipeline branch June 13, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants