Package internal/reqid¶
Import path: go.devnw.com/canary/internal/reqid
package reqid // import "go.devnw.com/canary/internal/reqid"
API (raw go doc)¶
package reqid // import "go.devnw.com/canary/internal/reqid"
CANARY: REQ=CBIN-139; FEATURE="AspectIDGenerator"; ASPECT=Engine; STATUS=IMPL;
UPDATED=2025-10-16
CANARY: REQ=CBIN-139; FEATURE="AspectIDParser"; ASPECT=Engine; STATUS=IMPL;
UPDATED=2025-10-16
CANARY: REQ=CBIN-139; FEATURE="AspectValidator"; ASPECT=Engine; STATUS=IMPL;
UPDATED=2025-10-16
FUNCTIONS
func GenerateNextID(key, aspect string) (string, error)
GenerateNextID generates the next requirement ID for a given aspect
func NormalizeAspect(input string) string
NormalizeAspect normalizes aspect casing to the canonical form
func SuggestAspect(typo string) string
SuggestAspect returns fuzzy match suggestions for invalid aspects
func ValidateAspect(aspect string) error
ValidateAspect checks if the given aspect is valid Accepts: exact canonical
form, all-lowercase, or all-uppercase Rejects: partial capitalizations
(e.g., "Frontend" when it should be "FrontEnd")
TYPES
type RequirementID struct {
Key string // e.g., "CBIN"
Aspect string // e.g., "CLI", "API" (empty for v1 format)
ID string // e.g., "001", "042"
Format string // "v1" (CBIN-XXX) or "v2" (CBIN-<ASPECT>-XXX)
}
RequirementID represents a parsed requirement identifier
func ParseRequirementID(reqID string) (*RequirementID, error)
ParseRequirementID parses a requirement ID string into its components
func (r *RequirementID) String() string
String returns the string representation of the RequirementID