-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Description
The Decider: unknown fields are because the MADR template uses a different metadata structure than the frontmatter schema—deciders are in the body text, not parsed as structured metadata. This could be enhanced in a future version.
Steps to Reproduce
- Run
git adr show 20251215-coverage-target-95-percent - See there is no Decider data
Expected Behavior
There should be in the ADR record the git user that created/committed the decision
Actual Behavior
What actually happened.
Environment
- OS: [e.g., macOS 14.0, Ubuntu 22.04]
- Python version: [e.g., 3.13.0]
- git-adr version: [e.g., 0.1.0]
- Git version: [e.g., 2.42.0]
Logs/Output
╭──────────────────────────────────────────────────────────────────────────────────────────────────────────── ADR ─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Coverage target 95 percent │
│ │
│ ID: 20251215-coverage-target-95-percent │
│ Date: 2025-12-15 │
│ Status: accepted │
│ Tags: testing, scope-creep, late-addition, quality, ci │
│ Linked commits: 6d5c264d, e53be5f7 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Status
Accepted
Context and Problem Statement
Original REQUIREMENTS.md specified 90% test coverage. The PR CI configuration (.github/workflows/ci.yml) required 95%. This mismatch was discovered during implementation.
Decision Drivers:
• CI requirements take precedence (blocking merge)
• Higher coverage provides better quality assurance
• Tests caught real issues during coverage push
Type: Scope Creep (Late Addition)
Decision
Raise coverage target from 90% to 95% and add tests to meet it.
Implementation
• Added tests/test_completion.py (12 tests) for shell completion code
• Added tests/test_rm_command.py (14 tests) for new rm command
• Final coverage: 95.19%
Consequences
Positive
• Higher code quality assurance
• Better coverage of edge cases
• Shell completion code now tested (was untested gap)
• Tests caught real issues during development
• CI passes without lowering standards
Negative
• Additional test development time (~3 hours)
• Coverage requirement more strict than originally planned
• May slow future feature development slightly
Neutral
• Coverage is enforced by CI, not optional
• Same tooling (pytest-cov) used
Classification
This is acceptable scope creep because:
1 Higher quality is always beneficial
2 CI already enforced this requirement (non-negotiable)
3 Tests caught real issues during development
4 Industry best practice for CLI tools
Options Considered
Option 1: Raise target to 95% (Chosen)
Meet the CI requirement by adding tests.
Pros: Passes CI, higher quality Cons: Additional work
Option 2: Lower CI threshold to 90%
Change .github/workflows/ci.yml to accept 90%.
Pros: Less work Cons: Lower quality, inconsistent with other projects
Decision Outcome
Chosen option: "Raise target to 95%", because CI requirements should be met rather than lowered, and the additional tests provided real value by catching bugs.
More Information
Coverage Breakdown:
Name Stmts Miss Cover
--------------------------------------------------
src/git_adr/__init__.py 3 0 100%
src/git_adr/cli.py XXX XX 95%
src/git_adr/core/adr.py XXX XX 96%
src/git_adr/core/git.py XXX XX 94%
...
--------------------------------------------------
TOTAL XXXX XXX 95%
Tests Added:
• test_completion.py: bash, zsh, fish, PowerShell completion generation
• test_rm_command.py: interactive confirmation, force flag, warnings
Date: 2025-12-15 Deciders: PR Requirements (CI configuration)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working