# component_architecture_unknowns.md - **Stella Ops Unknowns** (2025Q4) > Unknown component and symbol tracking registry. > **Scope.** Library architecture for **Unknowns**: tracking unresolved components, symbols, and mappings that Scanner and other analyzers cannot definitively identify. --- ## 0) Mission & boundaries **Mission.** Provide a **structured registry** for tracking unknown components, unresolved symbols, and incomplete mappings. Enable visibility into coverage gaps and guide future enhancement priorities. **Boundaries.** * Unknowns is a **library layer** consumed by Scanner and Signals. * Unknowns **does not** guess identities. It records what cannot be determined. * All unknowns are **categorized** for actionability. --- ## 1) Solution & project layout ``` src/Unknowns/ ├─ __Libraries/ │ ├─ StellaOps.Unknowns.Core/ # Unknown models, categorization │ ├─ StellaOps.Unknowns.Persistence/ # Storage abstractions │ └─ StellaOps.Unknowns.Persistence.EfCore/ │ └─ __Tests/ ├─ StellaOps.Unknowns.Core.Tests/ └─ StellaOps.Unknowns.Persistence.Tests/ ``` --- ## 2) Contracts & data model ### 2.1 Unknown Record ```json { "unknownId": "unk-2025-01-15-abc123", "category": "symbol_unmapped", "context": { "scanId": "scan-xyz", "binaryPath": "/usr/lib/libfoo.so", "symbolName": "_ZN3foo3barEv" }, "reason": "No PURL mapping available", "firstSeen": "2025-01-15T10:30:00Z", "occurrences": 42 } ``` ### 2.2 Categories | Category | Description | |----------|-------------| | `component_unidentified` | Binary without package mapping | | `symbol_unmapped` | Symbol without PURL resolution | | `version_ambiguous` | Multiple version candidates | | `purl_invalid` | Malformed package URL | --- ## Related Documentation * Scanner: `../scanner/architecture.md` * Signals: `../signals/architecture.md`