version: "1.0"
description: "Semantic tagging taxonomy for document extraction - SoftDev Base Profile"

namespaces:
  req:
    description: "Requirements classification (ISO 29148)"
    tags:
      - name: functional
        description: "Functional requirement"
        examples:
          - "The system shall validate the JWT."
          - "Users must be able to upload files."
      - name: non_functional
        description: "Quality attribute requirement (NFR)"
        examples:
          - "The system shall support 100 concurrent users."
          - "Response time must be under 200ms."
      - name: constraint
        description: "Design/business constraint"
        examples:
          - "Must use PostgreSQL 16."
          - "Solution must be cloud-agnostic."
      - name: interface
        description: "External interface requirement"
        examples:
          - "System communicates via REST API."
          - "Integration with LDAP for authentication."
      - name: data
        description: "Data requirement"
        examples:
          - "Records must be retained for 7 years."
          - "Data must be encrypted at rest."

  risk:
    description: "Risk and compliance tags"
    tags:
      - name: safety
        description: "Safety-critical items"
        examples:
          - "Ensure emergency stop engages in <10ms."
          - "System must fail-safe on power loss."
      - name: security
        description: "Security considerations"
        examples:
          - "All PII must be encrypted at rest."
          - "Implement rate limiting for API endpoints."
      - name: assumption
        description: "Project assumptions"
        examples:
          - "Assuming Azure East US availability."
          - "Client will provide test data by Q2."

  info:
    description: "Contextual information"
    tags:
      - name: background
        description: "Background/context information"
        examples:
          - "Project created to solve configuration drift."
          - "This replaces the legacy Excel-based system."
      - name: scope
        description: "Scope definition (in/out of scope)"
        examples:
          - "Out of scope: Mobile App."
          - "In scope: Web dashboard only."

  topic:
    description: "Domain topics (LLM-extracted keywords)"
    dynamic: true
    note: "LLM generates topic keywords automatically (e.g., topic:authentication, topic:billing)"
    examples:
      - "topic:authentication"
      - "topic:billing"
      - "topic:database"
      - "topic:api"
