Essert.MF Development Backlog¶
Last updated: 2026-03-06
This is the central work item dashboard. RTM-001 is the single source of truth for requirement implementation status. This file tracks work items and their progress.
Status Legend¶
| Status | Meaning |
|---|---|
| Backlog | Identified, not yet planned |
| Planned | Scoped, requirement doc exists |
| In Progress | Actively being worked on |
| Done | Complete, tests verified |
Completed Work¶
| ID | Title | Priority | Status | URS Refs | Phases | Requirement Doc |
|---|---|---|---|---|---|---|
| SCHEMA-001 | Database Schema Alignment | High | Done | DAT-001.1, PAR-001.3 | 7/7 | SCHEMA-001 |
| FIX-001 | Stale Ignoremessage.cs cleanup | Low | Done | — | — | — |
| DEBT-002 | AutoMapper to Mapperly migration | Medium | Done | — | 7/7 | DEBT-002 |
| FEAT-007 | Native Windows Service Deployment (S7-1500 Open Controller) | High | Done | INT-001.6, SYS-001.3 | 5/5 | FEAT-007 |
Active & Planned Work¶
| ID | Title | Priority | Status | URS Refs | Phases | Requirement Doc |
|---|---|---|---|---|---|---|
| FEAT-008 | CI Pipeline with GitHub Actions | High | Planned | SYS-001.4, INT-001.6 | 0/3 | FEAT-008 |
| FEAT-006 | Docker Containerization (optional, dev/test/non-constrained) | Medium | Planned | INT-001.5, INT-001.4, QUA-001.5 | 0/5 | FEAT-006 |
Backlog¶
| ID | Title | Priority | URS Refs | Description |
|---|---|---|---|---|
| DEBT-001 | Changelog write path for new parameter groups | Critical | DAT-001.3 | SCHEMA-001 Phase 6 added 23 changelog entities (EF read path). The write path — actually recording changes into db_changelogs when parameter modifications happen — is not connected for the 6 new groups (EGK, DistanceSensor, Pickit3D, SchmalzSCPSi, Lighting, VS) plus the 8 system parameter types. All parameter repository UpdateMappingWithChangelogAsync methods contain placeholder stubs (await Task.CompletedTask). GAMP5 compliance requires audit trails for all parameter changes. |
| FEAT-001 | Cascading delete for parameter groups | High | PRD-001.5, PAR-001.4 | DeleteMappingsForVersionHandler exists but is never called from the product/version delete path. DeleteProductWithAllVersionsAsync only removes product and version records — it does not cascade to delete parameter mappings across any of the 17+ parameter types. Orphaned parameter mapping records remain after product/version deletion. |
| FEAT-002 | CRC read-time verification | High | DAT-001.2 | CRC is calculated and stored on write (two-phase insert pattern). But there is no VerifyCrc or ValidateCrc method to re-verify integrity on read. URS-DAT-001.2 requires CRC to be "verifiable on read to detect tampering." Need to add verification capability in ICrcService and/or repository layer. |
| FEAT-003 | Health check — multi-database connectivity | Medium | SYS-001.3 | IsSystemHealthyAsync() only checks db_essert variable count. FS-SYS-001.3 specifies checking connectivity to all 8 databases with per-database status and response time. UnitOfWork.CanConnectToAllDatabasesAsync() exists and checks all databases but is not used by the health endpoint. |
| FEAT-004 | Missing measurement type handlers | Medium | QUA-001.1 | Only 4 of 14 measurement types have handlers: EGP, Kann, Length, Valve. Missing: Camera, CMMT, Consumption, CycleTime, Force, Posunit, Pressure, Shock, Temperature, Weight. Need to verify which types are actually needed per current deployments and implement or descope. |
| FEAT-005 | GraphQL parameter operations | Low | INT-001.3 | GraphQL covers core bounded contexts (24Q/26M/4S) but has no parameter CRUD operations. REST has 24 parameter controllers. Assess whether GraphQL coverage is needed for parameter management or if REST-only is acceptable. |
Folder Structure¶
Requirement documents are organized by lifecycle state and category:
docs/requirements/
├── BACKLOG.md # This file — central dashboard (always in root)
├── Template/ # Requirement document template
│ └── REQUIREMENT-TEMPLATE.md
├── Backlog/ # Identified, not yet planned
│ └── {CATEGORY}/ # e.g., FEAT/, DEBT/, FIX/, SCHEMA/
├── Planned/ # Scoped, requirement doc exists
│ └── {CATEGORY}/
├── InProgress/ # Actively being worked on
│ └── {CATEGORY}/
└── Done/ # Complete, tests verified
└── {CATEGORY}/
Rules:
- Category subfolders (FIX/, DEBT/, FEAT/, SCHEMA/) are created on-demand
- When a work item changes state, move its doc to the corresponding state folder
- Simple items (no dedicated doc) are tracked only in this BACKLOG.md
- Gold standard reference: SCHEMA-001 (7-phase completed doc)
Cross-References¶
- RTM-001 (single source of truth for requirement status):
docs/gamp5/RTM/RTM-001-traceability-matrix.md - Requirement template (for multi-phase work items):
docs/requirements/Template/REQUIREMENT-TEMPLATE.md - Lifecycle rules (mandatory workflow):
.claude/rules/lifecycle.md - GAMP5 index:
docs/gamp5/README.md