SaaS Gap Implementation Backlog (Master)
Last verified: 2026-05-27
Deep analysis: saas-gap-deep-analysis.md
Work item template: gap-backlog/_template-work-item.md
Purpose
Translate the deep gap analysis into an Azure DevOps-ready backlog (Epic → Feature → User Story → Task) with global implementation order [NNN], full self-contained descriptions, acceptance criteria, and per-repo mirrors in each ConnectSoft.Saas.*Template repository.
Epic taxonomy
flowchart TB
INTEG["saas-EPIC-INTEG<br/>P0 cross-service"]
DOCS["saas-EPIC-DOCS<br/>Governance"]
TEN["saas-EPIC-TEN"]
CAT["saas-EPIC-CAT"]
ENT["saas-EPIC-ENT"]
BIL["saas-EPIC-BIL"]
MET["saas-EPIC-MET"]
INTEG --> TEN
INTEG --> CAT
INTEG --> ENT
INTEG --> BIL
INTEG --> MET
DOCS --> INTEG
CAT --> ENT
ENT --> BIL
BIL --> MET
Hold "Alt" / "Option" to enable pan & zoom
Implementation roadmap (global order)
Order
ID
Title
Epic
Priority
[001]
saas-INTEG-F01
Cross-repo topic harmonization
INTEG
P0
[002]
saas-INTEG-F02
Quota payload Dimension ↔ MeterKey
INTEG
P0
[003]
saas-INTEG-F03
Integration event envelope
INTEG
P0
[004]
saas-INTEG-F04
Redis inbox dedupe
INTEG
P0
[005]
saas-INTEG-F05
MassTransit outbox + saga durability
INTEG
P0
[006]
saas-INTEG-F06
Orleans write-path ADR
INTEG
P0
[007]
saas-INTEG-F07
MessagingModel NuGet pin policy
INTEG
P0
[010]
saas-TEN-F01
Rich tenant aggregate or flat ADR
TEN
P1
[011]
saas-TEN-F02
External refs EditionRef, BillingAccountRef
TEN
P1
[012]
saas-TEN-F03
Full lifecycle saga
TEN
P1
[013]
saas-TEN-F04
JSON descriptor reconciliation
TEN
P1
[014]
saas-TEN-F05
Event envelope + vocabulary
TEN
P1
[015]
saas-TEN-F06
Replace placeholder arch tests
TEN
P1
[016]
saas-TEN-F07
Processor/REST/gRPC/saga tests
TEN
P1
[017]
saas-TEN-F08
Wire TenantLifecycleGrain
TEN
P1
[020]
saas-CAT-F01
Wire IProductEditorGrain
CAT
P1
[021]
saas-CAT-F02
Doc drift fixes
CAT
P1
[022]
saas-CAT-F03
Structural APIs or defer ADR
CAT
P1
[023]
saas-CAT-F04
EntitlementsChanged fan-out
CAT
P1
[024]
saas-CAT-F05
NHibernate outbox
CAT
P2
[025]
saas-CAT-F06
Additional query operations
CAT
P2
[026]
saas-CAT-F07
Grain test coverage
CAT
P1
[030]
saas-ENT-F01
EffectiveEntitlementDescriptor
ENT
P1
[031]
saas-ENT-F02
Suspend + Decommission
ENT
P1
[032]
saas-ENT-F03
Catalog retirement policy
ENT
P1
[033]
saas-ENT-F04
Catalog integrity on assign
ENT
P1
[034]
saas-ENT-F05
Saga + processor tests
ENT
P1
[035]
saas-ENT-F06
Replace placeholder arch tests
ENT
P1
[036]
saas-ENT-F07
Wire EntitlementEditorGrain
ENT
P1
[037]
saas-ENT-F08
MessagingModel pin bump
ENT
P1
[040]
saas-BIL-F01
Create-Draft semantic fix
BIL
P1
[041]
saas-BIL-F02
Inbound topic corrections
BIL
P0
[042]
saas-BIL-F03
Invoice read-model or defer
BIL
P2
[043]
saas-BIL-F04
Payment ACL skeleton
BIL
P2
[044]
saas-BIL-F05
Promotion/Proration/SeatPolicy
BIL
P2
[045]
saas-BIL-F06
Suspend-on-quota event
BIL
P1
[046]
saas-BIL-F07
rating-window to Metering
BIL
P1
[047]
saas-BIL-F08
Public invoice/payment/sync ops
BIL
P1
[048]
saas-BIL-F09
Arch + saga tests
BIL
P1
[049]
saas-BIL-F10
Wire SubscriptionEditorGrain
BIL
P1
[050]
saas-BIL-F11
SubscriptionSeatPolicy cleanup
BIL
P2
[060]
saas-MET-F01
UsageRecord idempotency
MET
P1
[061]
saas-MET-F02
Window VO + roll semantics
MET
P1
[062]
saas-MET-F03
UsageReported topology
MET
P1
[063]
saas-MET-F04
Quota contract with Billing
MET
P0
[064]
saas-MET-F05
Wire UsageMeterGrain
MET
P1
[065]
saas-MET-F06
Remove dead domain inputs
MET
P1
[066]
saas-MET-F07
Quota/roll/saga tests
MET
P1
[067]
saas-MET-F08
Entitlements quota reaction (optional)
MET
P2
[068]
saas-MET-F09
Replace placeholder arch tests
MET
P1
[070]
saas-DOCS-F01
Deep analysis doc
DOCS
P2
[071]
saas-DOCS-F02
Per-repo analysis mirrors
DOCS
P2
[072]
saas-DOCS-F03
Master + epic backlog files
DOCS
P2
[073]
saas-DOCS-F04
Per-repo backlog mirrors
DOCS
P2
[074]
saas-DOCS-F05
Epics index update
DOCS
P2
[075]
saas-DOCS-F06
Program mapping update
DOCS
P2
[076]
saas-DOCS-F07
mkdocs nav
DOCS
P2
[077]
saas-DOCS-F08
ADR stubs
DOCS
P2
[078]
saas-DOCS-F09
Baseline checklist traceability
DOCS
P2
[079]
saas-DOCS-F10
Status retrofit existing backlogs
DOCS
P2
Demo-ready slice (minimum E2E)
[001] [002] [041] [063] — topic + quota contract alignment (Tenants → Billing ← Metering)
[012] [040] [060] — tenant activate → subscription → usage record
[030] [032] — entitlements materialization on assign
Per-repo mirrors
Repository
Analysis mirror
Backlog mirror
TenantsTemplate
docs/backlog/tenants-gap-analysis.md
docs/backlog/tenants-gap-backlog.md
ProductsCatalogTemplate
docs/backlog/products-catalog-gap-analysis.md
docs/backlog/products-catalog-gap-backlog.md
EntitlementsTemplate
docs/backlog/entitlements-gap-analysis.md
docs/backlog/entitlements-gap-backlog.md
BillingTemplate
docs/backlog/billing-gap-analysis.md
docs/backlog/billing-gap-backlog.md
MeteringTemplate
docs/backlog/metering-gap-analysis.md
docs/backlog/metering-gap-backlog.md
Azure DevOps import
Field
Value
Area path
ConnectSoft\SaaS\<Context>
Iteration
TBD per sprint
Work item types
Epic → Feature → User Story → Task
Tags
saas-platform, gap, <context>, <priority>
Title format
[NNN] saas-<AREA>-F## — <Descriptive Title>
Description
Copy Description (full) + Acceptance criteria from epic files
Acceptance Criteria
Map AC-1, AC-2, … to ADO Acceptance Criteria field
Import order: INTEG Features first, then per-repo by roadmap table, then DOCS governance.
Rollup summary
Metric
Count
Epics
7
Features
58
P0 Features
9 (INTEG + BIL-F02 + MET-F04)
Repos touched
5 templates + 2 doc repos
Strategic ADRs pending
7 (see decision log )