Skip to content

[RFD]: Issue Creation Policy #117

@jvd10

Description

@jvd10

Decision Goal

Establish a clear policy for creating and managing GitHub issues across OpenCHAMI repositories, distinguishing between RFDs (roadmap repo), ADRs (community repo), and implementation issues (code repos).

Category

Process

Stakeholders / Affected Areas

teams, users

Decision Needed By

No response

Problem Statement

Currently, there's no formal policy governing where and how issues should be created across the OpenCHAMI organization's repository structure. This leads to:

  • Confusion about whether to submit feature requests as issues in code repos vs. RFDs in roadmap repo
  • Inconsistent issue types and missing ADR references for development task work
  • Difficulty tracking the relationship between RFDs, ADRs, and implementation issues
  • Unclear guidelines on when bugs vs. development tasks should be created in code repos
  • No clear process for handling security vulnerabilities or community feature suggestions

Proposed Solution

Implement a repository-specific issue policy:

Roadmap Repository:

  • RFDs submitted as issues for new feature proposals
  • Discussion and approval process before conversion to ADRs

Community Repository:

  • Stores ADRs converted from approved RFDs
  • No direct issue creation (ADRs are documents, not issues)

Code Repositories:

  • Four issue types: Bug, Development Task, Security Vulnerability, and Feature Request
  • Bug issues: Can be opened anytime, may optionally reference related ADR/RFD
  • Development Task issues: Must reference a specific ADR, treated as development tasks to implement approved decisions
  • Security Vulnerability issues: Can be opened anytime, not required to be tied to an ADR, follow responsible disclosure practices
  • Feature Request issues: Community suggestions for new features, may lead to RFD creation after review, not for approved work

Workflow:

  1. New features → RFD in roadmap repo
  2. Approved RFDs → ADR in community repo
  3. Implementation work → Development Task issues in code repos referencing ADR
  4. Bug reports → Bug issues in relevant code repos
  5. Security issues → Security Vulnerability issues in relevant code repos
  6. Community suggestions → Feature Request issues in code repos, may prompt RFD creation

Alternatives Considered

  • Single repository for all issues: Rejected due to loss of service-specific context
  • No ADR requirement for development tasks: Rejected as it breaks the RFD→ADR→implementation workflow
  • Allow feature requests directly in code repos: Modified to allow as suggestions that may lead to RFDs
  • More granular issue types: Rejected to keep code repo issues simple and focused
  • Separate security reporting process: Considered but included as issue type for transparency while following disclosure practices

Other Considerations

Risks:

  • Contributors may not understand the three-repo workflow initially
  • Development Task issues without ADR references may slip through
  • Bug vs. development task vs. feature request categorization ambiguity
  • Security vulnerabilities may need special handling for sensitive issues

Trade-offs:

  • Structured workflow vs. contributor learning curve
  • Clear separation of concerns vs. potential overhead
  • Transparency for security issues vs. responsible disclosure

Open Questions:

  • How to handle bugs that reveal need for architectural changes?
  • Should development task issues be automatically linked to their ADRs?
  • What's the process for updating ADRs based on implementation feedback?
  • Should feature requests have a standardized format for evaluation?
  • How to handle private security vulnerability reporting?

Related Docs / PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    rfdRequest for Discussion

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions