Skip to content

Comments

feat(backlog): add backlog add for interactive issue creation#289

Open
djm81 wants to merge 3 commits intodevfrom
feature/backlog-core-02-interactive-issue-creation
Open

feat(backlog): add backlog add for interactive issue creation#289
djm81 wants to merge 3 commits intodevfrom
feature/backlog-core-02-interactive-issue-creation

Conversation

@djm81
Copy link
Collaborator

@djm81 djm81 commented Feb 21, 2026

Description

This PR delivers backlog interactive issue creation and provider-aware mapping setup for backlog workflows.

Summary:

  • Adds specfact backlog add with interactive and non-interactive creation flow, hierarchy validation, DoR checks, sprint/iteration selection, parent selection, and provider-aware payload mapping.
  • Extends adapters with unified create_issue(project_id, payload) and centralized retry policy behavior for write operations.
  • Adds specfact backlog init-config and expands specfact backlog map-fields to multi-provider setup (ado, github) with canonical persistence in .specfact/backlog-config.yaml.
  • Enhances GitHub creation flow with native sub-issue parent linking and optional issue type / ProjectV2 type mapping support.
  • Updates docs and changelog for 0.36.0.

Fixes #173

New Features #173

Contract References:

  • BacklogAdapterMixin.create_issue(...) contract extension.
  • GitHubAdapter.create_issue(...) and AdoAdapter.create_issue(...) contract-enforced provider implementations.

Type of Change

Please check all that apply:

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🔒 Contract enforcement (adding/updating @icontract decorators)
  • 🧪 Test enhancement (scenario tests, property-based tests)
  • 🔧 Refactoring (code improvement without functionality change)

Contract-First Testing Evidence

Required for all changes affecting CLI commands or public APIs:

Contract Validation

  • Runtime contracts added/updated (@icontract decorators on public APIs)
  • Type checking enforced (@beartype decorators applied)
  • CrossHair exploration completed: hatch run contract-test-exploration
  • Contract violations reviewed and addressed

Test Execution

  • Contract validation: hatch run contract-test-contracts
  • Contract exploration: hatch run contract-test-exploration
  • Scenario tests: hatch run contract-test-scenarios
  • Full test suite: hatch run contract-test-full

Test Quality

  • CLI commands tested with typer test client
  • Edge cases covered with Hypothesis property tests
  • Error handling tested with invalid inputs
  • Rich console output verified manually or with snapshots

How Has This Been Tested?

Contract-First Approach: Added/updated contracts and adapter APIs first-class, then validated via unit/regression tests and project quality gates.

Manual Testing

  • Tested CLI commands manually
  • Verified rich console output
  • Tested with different input scenarios
  • Checked error messages for clarity

Automated Testing

  • Contract validation passes
  • Property-based tests cover edge cases
  • Scenario tests cover user workflows
  • All existing tests still pass

Test Environment

  • Python version: 3.11+
  • OS: Linux

Checklist

  • My code follows the style guidelines (PEP 8, ruff format, isort)
  • I have performed a self-review of my code
  • I have added/updated contracts (@icontract, @beartype)
  • I have added/updated docstrings (Google style)
  • I have made corresponding changes to documentation
  • My changes generate no new warnings (basedpyright, ruff, pylint)
  • All tests pass locally
  • I have added tests that prove my fix/feature works
  • Any dependent changes have been merged

Quality Gates Status

  • Type checking ✅ (hatch run type-check)
  • Linting ✅ (hatch run lint)
  • Contract validation ✅ (hatch run contract-test-contracts)
  • Contract exploration ✅ (hatch run contract-test-exploration)
  • Scenario tests ✅ (hatch run contract-test-scenarios)

Screenshots/Recordings (if applicable)

CLI-focused change; no screenshots attached.

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@djm81 djm81 self-assigned this Feb 21, 2026
@djm81 djm81 added module-system Module system and registry marketplace Module marketplace features devops-backlog DevOps Agile Backlog integrations labels Feb 21, 2026
@djm81 djm81 moved this from Todo to In Progress in SpecFact CLI Feb 21, 2026
@djm81 djm81 linked an issue Feb 21, 2026 that may be closed by this pull request
…ation

Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
@github-actions
Copy link

SpecFact CLI Validation Report

All validations passed!
Duration: 19.36s
Checks: 4 total (2 passed) (2 skipped)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

devops-backlog DevOps Agile Backlog integrations marketplace Module marketplace features module-system Module system and registry

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[Change] Add backlog add (interactive issue creation)

1 participant