buster/api/prds/template.md

2.5 KiB

title author date status ticket
Component Name Your Name YYYY-MM-DD Draft TICKET-ID

Component Name

Problem Statement

Current behavior:

  • [Current behavior 1]
  • [Current behavior 2]
  • [Current behavior 3]

Expected behavior:

  • [Expected behavior 1]
  • [Expected behavior 2]
  • [Expected behavior 3]

Goals

Non-Goals

Implementation Plan

Phase 1: [Name] (In Progress)

Technical Design

// Include actual code structures/types
struct ComponentName {
    field1: Type1,    // Purpose of field1
    field2: Type2,    // Purpose of field2
}

Database Changes

-- Include actual SQL
CREATE TABLE new_table (
    id UUID PRIMARY KEY,
    field1 TYPE1  -- Purpose
);

Implementation Steps

  1. Step 1

    • Technical details
    • Edge cases to handle
    • Testing requirements
  2. Step 2

    • Technical details
    • Edge cases to handle
    • Testing requirements

Tests

Unit Tests
#[cfg(test)]
mod tests {
    #[test]
    fn test_normal_case() {
        // Test implementation
    }

    #[test]
    fn test_edge_case_1() {
        // Test implementation
    }
}
Integration Tests
  • Test Scenario: [Description]
    • Setup:
      • Required data
      • System state
    • Steps:
      1. Action 1
      2. Action 2
    • Assertions:
      • Expected state
      • Error cases
    • Edge Cases:
      • Case 1
      • Case 2

Success Criteria

  • Criterion 1
  • Criterion 2
  • All tests passing

Phase 2: [Name] 🔜 (Not Started)

[Similar structure to Phase 1]

Security Considerations

  • Consideration 1
    • Risk:
    • Mitigation:
    • Testing:

Dependencies

  1. Component 1
    • Interface changes:
    • Testing requirements:

References

  • [Link to design docs]
  • [Link to related PRDs]