Skip to content

Add backlog dependency analysis and command suites #116

@djm81

Description

@djm81

Objective

Extend backlog capabilities beyond simple sync to enable dependency analysis, delta tracking, and integrated DevOps workflows. This establishes SpecFact CLI as the comprehensive DevOps tool for agile workflows, enabling teams to analyze dependencies, track changes, verify release readiness, and orchestrate complete DevOps flows from a single tool.

Technical Approach

  • NEW: Implement provider-agnostic dependency graph model (BacklogGraph, BacklogItem, Dependency) that abstracts epic → feature → story → task hierarchies without locking to ADO/GitHub/Jira models
  • NEW: Add template-driven mapping system (BacklogGraphBuilder) that converts provider items (ADO/GitHub) into unified graph using pre-built templates (ado_scrum, github_projects, jira_kanban) with user-defined overrides
  • NEW: Implement graph analyzers (DependencyAnalyzer) for transitive closure, cycle detection, critical path analysis, and impact analysis (downstream dependencies)
  • NEW: Add CLI commands: backlog analyze-deps, backlog sync, backlog diff, backlog promote, backlog verify-readiness, backlog generate-release-notes
  • NEW: Add CLI commands: delta status, delta impact, delta cost-estimate, delta rollback-analysis
  • EXTEND: Add project snapshot, project regenerate, project link-backlog, project export-roadmap, project health-check, project devops-flow commands
  • EXTEND: Add backlog configuration section to .specfact/spec.yaml for provider linking, type mapping, dependency rules, and auto-sync configuration
  • EXTEND: Extend BacklogAdapterMixin with abstract methods fetch_all_issues() and fetch_relationships() for bulk backlog data fetching
  • EXTEND: Add optional backlog_graph: BacklogGraph | None field to ProjectBundle model (v1.2) for storing dependency graph data

Success Criteria

  • Dependency graph analysis enables understanding of logical relationships between backlog items (epic → feature → story → task hierarchies)
  • Cycle detection and blocker identification works across all supported providers
  • Delta tracking shows changes since last baseline (new items, modified items, deleted items, status transitions, new dependencies)
  • Release readiness verification checks blockers, circular dependencies, and child completion
  • Integrated DevOps workflow orchestration (plan → develop → review → release → monitor stages)

Dependencies

  • Bridge adapter architecture (extends BacklogAdapterMixin with bulk fetching methods)
  • Plan bundle format (extends ProjectBundle model v1.2 with optional backlog_graph field)
  • Project configuration (extends ProjectBundle.metadata with backlog_config field)

Risks

  • Dependency graph building requires bulk data fetching which may be slow for large backlogs
  • Template-driven mapping may not cover all provider-specific edge cases

OpenSpec Change Proposal: add-backlog-dependency-analysis-and-commands

Metadata

Metadata

Assignees

Labels

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions