package audit // Stubs for Methods B-E. Each is filled in its own file as the audit // suite grows. Keeping the type contracts here lets the CLI compile // before each method has its full implementation. // ============================================================================ // Method B — Component Self-Consistency // ============================================================================ type CategoryGap struct { Category string `json:"category"` SuggestedTags []string `json:"suggested_tags"` } type ComponentResult struct { ComponentID string `json:"component_id"` NameDE string `json:"name_de"` DeclaredCategories []string `json:"declared_categories"` CoveredCategories []string `json:"covered_categories"` MissingForCategories []CategoryGap `json:"missing_for_categories,omitempty"` } type ConsistencyReport struct { TotalComponents int `json:"total_components"` Consistent int `json:"consistent"` Incomplete int `json:"incomplete"` IncompleteComponents []ComponentResult `json:"incomplete_components"` } // ============================================================================ // Method C — Limits-Form Vocabulary Diff // ============================================================================ type DictionarySuggestion struct { Token string `json:"token"` Field string `json:"field"` PatternIDs []string `json:"pattern_ids"` } type VocabularyReport struct { UniqueTokens int `json:"unique_tokens"` KnownTokens []string `json:"known_tokens"` UnknownTokens []string `json:"unknown_tokens"` SuggestedDictionaryEntries []DictionarySuggestion `json:"suggested_dictionary_entries"` } // ============================================================================ // Method D — Limits-Form Echo // ============================================================================ type OrphanedPhrase struct { Field string `json:"field"` Phrase string `json:"phrase"` BestScore float64 `json:"best_score"` } type EchoReport struct { TotalPhrases int `json:"total_phrases"` Echoed int `json:"echoed"` Orphaned int `json:"orphaned"` OrphanedPhrases []OrphanedPhrase `json:"orphaned_phrases"` } // ============================================================================ // Method E — Hierarchy Completeness // ============================================================================ type HazardHierarchyResult struct { HazardID string `json:"hazard_id"` Name string `json:"name"` Category string `json:"category"` Levels []string `json:"present_levels"` MissingLevels []string `json:"missing_levels"` } type HierarchyReport struct { TotalHazards int `json:"total_hazards"` Complete int `json:"complete"` MissingDesign int `json:"missing_design"` MissingProtection int `json:"missing_protection"` MissingInfo int `json:"missing_information"` IncompleteHazards []HazardHierarchyResult `json:"incomplete_hazards"` }