Skip to content

RFCs

Engineering proposals, change requests, and engagement implementation guides. Each RFC documents the problem, the decisions, and the step-by-step process — so the team can execute without ambiguity and future engineers understand why, not just what.


RFC Series

FLX-ENG — Engineering RFCs (architecture, build, release)

RFC Title Priority Status Related Issues
FLX-ENG-RFC-001 Branching, Build & Release Engineering for the DMS Platform P0 Active — PoC in progress [EPIC-9] #52#64
FLX-ENG-RFC-002 [EPIC-1] Access, Orientation & CodePulse Procurement P1 Active #9#16
FLX-ENG-RFC-003 [EPIC-2] DORA Baseline Collection + CI Gate Validation P0 Active #17#19
FLX-ENG-RFC-004 [EPIC-5] DORA Metrics Framework · 5 Metrics × Baseline × Threshold × Cadence P0 Active #30#34
FLX-ENG-RFC-005 [EPIC-6] Objective Code Review CI Configuration · 10 Automated Gates P0 Active #20#29
FLX-ENG-RFC-006 [EPIC-3] Defect Catalog, Lifecycle Demos & Baseline Report P0 Active #35#40
FLX-ENG-RFC-007 [EPIC-7] Subjective Review Checklist + [EPIC-8] Lifecycle Tooling P2 Active #41#45
FLX-ENG-RFC-008 [EPIC-4] Handover, Walkthrough & Closure P1 Active #46#51
FLX-ENG-RFC-009 Repository Consolidation & Cutover Plan — sync agent, branch normalisation, decommission P0 Active — sync running #54

EPIC-1 Child Specs

Story Spec Issue
US-1.1 Repository Access Verification #9
US-1.2 Flexli Documentation Folder Access #10
US-1.3 Manual DMS Orientation #11
US-1.4 Branching and Release Discipline Sync #12
US-1.5 Initial Scan Report #13
US-1.6 CodePulse Procurement #14
US-1.7 CodePulse Rules and Exclusions #15
US-1.8 First-Pass Objective Scans #16

Priority Distribution

Priority RFC Count Description
P0-CRITICAL RFC-001, 003, 004, 005, 006, 009 Must complete on schedule — blocks availability commitment
P1-HIGH RFC-002, 008 Important — blocks handover and next tenant onboarding
P2-MEDIUM RFC-007 Valuable — improves quality without blocking core deliverables

RFC PoC Issue Map

The table below maps the RFC FLX-ENG-RFC-001 PoC implementation issues (GitHub #52#64) to their RFC reference:

GitHub Issue RFC PoC Task Priority RFC Section
#52 [EPIC] RFC FLX-ENG-RFC-001 PoC P0 RFC-001 §10
#53 RFC-PoC-1.1 · .NET 8 Port [P0-URGENT] P0 RFC-001 §10.2, §10.4 Wk1
#54 RFC-PoC-0.1 · Retire dev branch P2 RFC-001 §3.2.2
#55 RFC-PoC-1.2 · Branch protection + CODEOWNERS P1 RFC-001 §3.2.2, G1
#56 RFC-PoC-1.3 · GitHub Actions build.yml P1 RFC-001 §10.3, G1
#57 RFC-PoC-2.1 · Multi-stage Dockerfile + GHCR P1 RFC-001 §6, G2
#58 RFC-PoC-3.1 · CycloneDX SBOM + Cosign signing P1 RFC-001 §6.2, G2
#59 RFC-PoC-4.1 · Tenant manifest + startup validator P0 RFC-001 §5.1, G3
#60 RFC-PoC-4.2 · OpenFeature SDK P1 RFC-001 §3.3, §5.3
#61 RFC-PoC-5.1 · OpenTelemetry + tenantId tagging P1 RFC-001 §8, G5
#62 RFC-PoC-6.1 · Offline docker-compose + rollback drill P1 RFC-001 §6.3, G4
#63 RFC-PoC-7.1 · Myntra second tenant (two-tenant demo) P1 RFC-001 §5, G5
#64 RFC-PoC-8.1 · G1–G5 gate closure + demo P1 RFC-001 §10.5

Decision Log

Decision RFC Date Rationale
Trunk-based branching (no long-lived dev branch) RFC-001 §3.2.2 May 2026 Eliminates merge debt and DORA metric distortion
.NET 8 LTS upgrade (from .NET 6, out of support since Nov 2024) RFC-001 §10.2 May 2026 LTS support, IDE tooling, SBOM compatibility
CodePulse SaaS (Phase 1 DORA tool, $149/month) RFC-004 Jun 2026 Buy vs. build — 5-min setup, immediate DORA data
Cosign keyless signing (OIDC, no long-lived keys) RFC-001 §6.2 May 2026 SLSA-compliant, no key rotation burden
Tenant manifest JSON Schema + startup validator RFC-001 §5.1 May 2026 Security boundary — manifest cannot be tampered
Semgrep OSS for SAST (not CodeQL-only) RFC-005 Jun 2026 C# ruleset + OWASP coverage; SARIF output
Automated sync agent (cherry-pick not fast-forward merge) RFC-009 Jun 2026 Preserves per-commit author attribution; deduplicates via patch-id; allows selective conflict resolution
Retire dev/prod branches via archive tags (not deletion) RFC-009 Jun 2026 Tags preserve full history while enforcing trunk-based model from day 1

How to Write an RFC

  1. Copy this template header:
    | Field | Value |
    |---|---|
    | RFC ID | FLX-ENG-RFC-NNN |
    | Status | Draft |
    | Author | |
    | Reviewers | |
    | Scope | |
    
  2. State the problem clearly (1–2 paragraphs)
  3. List step-by-step implementation tasks with numbered sub-steps
  4. List dependencies (what must be done first)
  5. List success criteria as checkboxes
  6. Add to index.md table
  7. Create corresponding GitHub issues in Project #15 for each task