feat(backlog): add backlog add for interactive issue creation#289
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR delivers backlog interactive issue creation and provider-aware mapping setup for backlog workflows.
Summary:
specfact backlog addwith interactive and non-interactive creation flow, hierarchy validation, DoR checks, sprint/iteration selection, parent selection, and provider-aware payload mapping.create_issue(project_id, payload)and centralized retry policy behavior for write operations.specfact backlog init-configand expandsspecfact backlog map-fieldsto multi-provider setup (ado,github) with canonical persistence in.specfact/backlog-config.yaml.0.36.0.Fixes #173
New Features #173
Contract References:
BacklogAdapterMixin.create_issue(...)contract extension.GitHubAdapter.create_issue(...)andAdoAdapter.create_issue(...)contract-enforced provider implementations.Type of Change
Please check all that apply:
@icontractdecorators)Contract-First Testing Evidence
Required for all changes affecting CLI commands or public APIs:
Contract Validation
@icontractdecorators on public APIs)@beartypedecorators applied)hatch run contract-test-explorationTest Execution
hatch run contract-test-contracts✅hatch run contract-test-exploration✅hatch run contract-test-scenarios✅hatch run contract-test-full✅Test Quality
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
Automated Testing
Test Environment
Checklist
@icontract,@beartype)Quality Gates Status
hatch run type-check)hatch run lint)hatch run contract-test-contracts)hatch run contract-test-exploration)hatch run contract-test-scenarios)Screenshots/Recordings (if applicable)
CLI-focused change; no screenshots attached.
Note
Medium Risk
Introduces new provider write paths (GitHub/ADO issue creation, GraphQL mutations) and shared retry behavior; mistakes could create incorrect or duplicate backlog items despite test coverage.
Overview
Adds interactive backlog item creation via new
specfact backlog add, including non-interactive mode, multiline body/AC capture, priority/story points, DoR validation, sprint/iteration selection (ADO), and parent selection with configurablecreation_hierarchyvalidation.Extends the backlog adapter contract with
create_issue()and implements it for GitHub and Azure DevOps, adds centralized retry behavior for write operations (duplicate-safe for non-idempotent calls), and enhances GitHub creates with native parent sub-issue linking plus optional Issue Type / ProjectV2 Type field updates from.specfact/backlog-config.yamlor custom config.Introduces backlog-scoped config loading from
.specfact/backlog-config.yaml, addsspecfact backlog init-config, expandsbacklog map-fieldsinto a multi-provider guided flow with canonical persistence, updates docs/command reference, and bumps version to0.36.0with new tests covering the added flows.Written by Cursor Bugbot for commit f9c531b. This will update automatically on new commits. Configure here.