Skip to content

Fix #7: GUI#8

Open
htlin222 wants to merge 1 commit intomainfrom
issue-7
Open

Fix #7: GUI#8
htlin222 wants to merge 1 commit intomainfrom
issue-7

Conversation

@htlin222
Copy link
Copy Markdown
Owner

Closes #7

Implemented automatically by Claude.

@htlin222 htlin222 mentioned this pull request Mar 21, 2026
@htlin222
Copy link
Copy Markdown
Owner Author

@claude unit test this

@htlin222
Copy link
Copy Markdown
Owner Author

htlin222 commented Mar 21, 2026

Here's the summary:

Unit Test Results: 97/97 passing

Module Coverage Tests
extraction_utils.py 100% 10 tests
validate_extraction.py 67% (core logic fully covered, main() CLI excluded) 39 tests
validate_skills.py 68% (parsing + validation covered, main() CLI excluded) 26 tests
bib_to_csv.py 25% (extract_fields covered, file I/O main() excluded) 7 tests
project_status.py 50% (stage detection + status logic covered, print/CLI excluded) 11 tests

What was created:

  • tooling/python/pyproject.toml — added pytest + pytest-cov dev dependencies
  • tooling/python/tests/conftest.py — shared fixtures
  • tooling/python/tests/test_extraction_utils.py — field name parsing
  • tooling/python/tests/test_validate_extraction.py — CSV validation engine (6 check types)
  • tooling/python/tests/test_bib_to_csv.py — BibTeX field extraction
  • tooling/python/tests/test_validate_skills.py — SKILL.md structure validation
  • tooling/python/tests/test_project_status.py — project stage detection

Run with: cd tooling/python && uv run pytest tests/ -v


⏱️ 219s | 💰 $0.9453 | 🔄 20 turn(s)

htlin222 added a commit that referenced this pull request Apr 10, 2026
Sprint 2 of issue #38 — supports fast prototype runs and structured
2x2 extraction for observational prognostic-factor studies.

Draft mode (#7):
- init_project.py: --mode {strict,draft} flag, writes .ma_meta.json
  with quality_mode and creates DRAFT_MODE.md so the deviation is loud
- project_meta.py: single source of truth for reading quality_mode
- validate_pipeline.py: reports unchecked items as NOTES (exit 0) in
  draft mode, FAILURES (exit 2) in strict mode; adds --json output

Prognostic-factor template (#8):
- ma-data-extraction/templates/prognostic_factor.yaml: schema (19
  fields, 14 required) for binary exposure -> binary outcome 2x2
- ma-data-extraction/templates/prognostic_factor.md: matching data
  dictionary consumed by create_extraction_template.py

Smoke tested: draft/strict init, validate_pipeline exit codes, JSON
output, CSV scaffolding, 96 pytest pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

GUI

1 participant