Skip to content

NEP-0001: NOC Problem Statement Process

This document defines the process and lifecycle of NOC Problem Statements (NPS) — a formal mechanism for identifying, describing, and tracking known problems, limitations, or challenges within the NOC platform.

What is an NPS?

A NOC Problem Statement (NPS) is a document that formally describes an existing issue, design limitation, or architectural constraint in the NOC platform.
NPS documents are intended to foster understanding, encourage discussion, and provide a foundation for future proposals (NEPs) aimed at solving the problems.

Goals of the NPS process

  • Encourage the transparent documentation of current problems
  • Create a shared understanding of platform limitations
  • Help guide future NEPs toward meaningful and needed improvements
  • Maintain a historical record of resolved, rejected, or evolving challenges

NPS Workflow

The NPS process follows the same state model as NEPs:

  1. 📝 Draft — A new NPS is written and submitted as a draft, typically as a pull request.
  2. 💬 Discussion — The NPS is reviewed, discussed, and possibly revised.
  3. Accepted — Once consensus is reached, the NPS is acknowledged as valid and marked Accepted.
  4. 🛠️ In Progress — The problem is being actively addressed, often in connection with an NEP.
  5. Rejected — The problem is deemed invalid or not actionable and marked as Rejected.
  6. 🚀 Done — The issue has been successfully resolved and is marked Done.
stateDiagram-v2
    draft: 📝 Draft
    discussion: 💬 Discussion
    accepted: ✅ Accepted
    inprogress: 🛠️ In Progress
    rejected: ❌ Rejected
    done: 🚀 Done
    [*] --> draft
    draft --> discussion
    discussion --> draft
    draft --> rejected
    discussion --> accepted
    discussion --> rejected
    accepted --> inprogress
    inprogress --> done

NPS Metadata

Each NPS must include a YAML metadata block at the top:

---
nps: NPS-xxxx
title: Descriptive Title
author: Your Name or Team
status: Draft | Discussion | Accepted | Rejected | In Progress | Done
created: YYYY-MM-DD
---

NPS Filename and Numbering

  • NPS documents must be placed in docs/nps/
  • Filenames must be lowercase and follow the format: nps-XXXX.md
  • NPS numbers are 4-digit, zero-padded integers, assigned sequentially
  • There are no reserved numbers, but early entries may describe process-related matters

Best Practices

  • Clearly describe the observed issue or limitation
  • Avoid proposing solutions in the NPS itself (save those for NEPs)
  • Include affected subsystems, impact level, and any relevant background
  • Link to related NEPs, bugs, or documentation if available

How to Contribute an NPS

  • Fork this repository
  • Create a new file docs/nps/nps-XXXX.md
  • Add a reference to docs/nps/SUMMARY.md
  • Write the problem statement following this template
  • Submit a merge request for review