Repository navigation
Add same-Mac comparison and side-by-side source evidence - #18
Draft
hideouts-io wants to merge 16 commits into
Draft
hideouts-io wants to merge 16 commits into
hideouts-io wants to merge 16 commits into
Conversation
Serial ATA drives and cards in a card reader report the same drive and volume fields as NVMe drives and the Storage section, but only got the general section text. SMART status, partition map, file system, writable, partition content, and removable and detachable media are now explained there too, and Windows_FAT_32, the partition type of a FAT32 memory card, is new. The spellings come from the published macOS samples in glpi-agent. Free space stays on the Storage section, so a shortage isn't reported twice for the same volume.
Covers the drive's medium type, the controller's physical interconnect, the port and negotiated SATA link speeds, Native Command Queuing, and the PCI Express link speed and width Apple's SSD controller reports. A link slower than its port is explained as information, with what it means for an SSD. PCI as the interconnect is marked as an inference, with its reasons.
Covers how fully macOS supports burning with the drive, an empty drive, DVD reading, the drive's connection, the CD and DVD formats it can write, and its burn strategies. Format and strategy lists are spelled out, and a list with an unfamiliar entry is shown as not yet explained rather than partly explained. The support levels and connections other than the published ones are Disc Recording constants whose spelling in system_profiler output is unconfirmed. Adds englishList so lists in explanations read the same in every system language.
Most Macs have a paired keyboard, mouse, trackpad, or headphones, but the inventory Mac had none connected, so these values had no explanation. Covers the accessory type, the battery level of the accessory, each earbud, and the charging case (nearly empty is worth a look, low is information), and the services an accessory or this Mac's Bluetooth supports. A service the app doesn't know is named as such, and AACP is marked as an inference because Apple doesn't document it. Adds short field explanations for the battery and service fields.
docs/value-explanations.md now lists the Serial ATA, disc burning, and Bluetooth accessory values with their sources and spellings, and marks the storage spellings the published samples confirm (MS-DOS FAT32, Not Supported, the MBR partition map, and the EFI, Apple_HFS, Apple_Boot, and Apple_CoreStorage partition types). The list of values that need a scan on a real Mac lived in PLAN.md, which was removed, so the docs pointed at a missing file. The list is now the last section of docs/value-explanations.md, updated with this branch's unconfirmed values.
The plan tracked this branch's steps and doesn't belong in the project. The list of values that need a scan now lives in docs/value-explanations.md.
Reject malformed Bluetooth percentages, service masks and PCI lane counts. Keep CD and DVD format interpretation medium-specific and preserve unsupported raw values without inference. Validate import/search/export preservation and value boundaries. Native macOS build/test passed with the optional private fixture unavailable; synthetic accessory and optical cases do not establish live hardware coverage.
Harden nested matching and cancellation, add exact baseline/current raw evidence, preserve Unicode PDF pagination, and close Camera identifier export privacy edges. Include synthetic fixtures and older-Mac verification guidance; no release assets or private evidence. Normal tests: 277 passed, one optional private-fixture skip. Framework-free: 276 passed, the same skip. Universal and framework-free Release builds and publication/branding checks pass locally. Physical older Intel runtime and fresh hosted CodeQL extraction remain unverified.
Preserve greedy sampling, nil temperature, the response-token bound, and optional on-device privacy behavior. The supported legacy argument label also builds on the newer SDK, which emits its expected deprecation warning. Local native validation: 277 passed plus one optional private-fixture skip; framework-free 276 passed plus the same skip. Both Release builds, publication/diff checks, and locked branding typecheck pass. Hosted compatibility and candidate Swift extraction are verified separately after push.
Keep unavailable and unreadable snapshot history distinct from empty history. Add explicit refresh and direct file selection when no compatible full baseline is available; preserve the selected report and comparison across refreshes. Validation: native build/test passed (278 passed, 2 intentional skips, 0 failures), focused review workflow tests passed, native synthetic import/comparison/refresh verified, branding TypeScript and publication boundary checks passed.
Validate anonymized sample strings instead of trusting rule registration, reject duplicate JSON keys before report comparison or storage, and describe APFS containers without inferring a startup role. Decode and validate snapshots from one owned input copy. Preserve original private values and serialization formats, and add importer-to-presentation and export behavior coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Make same-Mac before/after comparisons traceable to both parsed evidence and retained original input, while preserving the snapshot-history and optional explanation improvements in this draft.
Dependency: this draft PR includes and depends on open PR #14. Its current head is
9b1369fb0cbf73cde9c71fe02edcad67bb01488b, which is an ancestor of this PR. Resolve that review/integration relationship before merging. This delivery does not merge either PR, mark this draft ready, release, deploy, or change repository settings.Cross-Mac comparison, manual pairing and persistent original-byte storage remain deferred. Existing collection scope, serialization formats, workflows, dependencies, security policy and permissions are unchanged.
Reviewed fixes delivered
Candidate:
e774fe3c0cfe150fcea0c048d9160318161533b5—hideouts/pr18: harden sample privacy and report evidence.Apple_APFSdescribes a container with shared volume space, not assumed macOS contents or startup role. Finding status/confidence are preserved across NVMe, Serial ATA and card-reader paths.Thirteen reviewed source/test/README files changed. The complete committed diff exactly matches the previously reviewed patch. No instruction, workflow, dependency, signing or release changes are included.
Current validation
build test: 312 total, 310 passed, 2 intentional skips, 0 failures, 0 xcresult runtime warnings.build test: 311 total, 309 passed, 2 intentional skips, 0 failures, 0 xcresult runtime warnings. Executed through Rosetta on Apple silicon, not physical Intel hardware.TEST SUCCEEDEDline. The first zero-test method-filter probe was discarded; subsequent suite filters exercised the tests.The two skips are the opt-in installed-model test and optional private-report performance fixture. The existing FoundationModels initializer deprecation and AppIntents/linkd system-log warnings remain explicit. No model generation or distribution packaging was rerun.
Fresh push CI and PR CI passed for this candidate on Xcode 26.4.1/build 17E202; each ran 312 total tests, 2 intentional skips, 0 failures. The PR test merge is
b3c6d43c038f50f7d170a01f55fca90665ae026c, combining this head withmainateba926097f4bd3bccbab974a693d11f4772bde6b.The fresh three-language CodeQL run passed all three analyses, all three processed uploads and the aggregate results gate. Code Scanning API analyses
2157834394(Swift),2157834443(JavaScript/TypeScript) and2157834538(Actions) are bound to test mergeb3c6d43c038f50f7d170a01f55fca90665ae026c, each with zero query results and an empty processing error. Fresh SARIF reports successful execution for every language; Actions and JavaScript/TypeScript have no extraction-error notification category. The Swift extraction build also ran all 312 tests with the same two intentional skips and no failures. Earlier-head results are not substituted for this candidate's evidence.Swift extraction is still limited, not repaired. Inspection across every execution/configuration notification level found 113 extraction diagnostics, all
level: none: 54 SDK compiler-branch mismatches, 54 failed precompiled SDK module emissions, 3 Swift module/compiler mismatches and 2 accessibility ambiguity messages. The earlier head had 112, including one accessibility message; the additional occurrence repeats the same no-locationNSAccessibilityElementambiguity. This delivery does not establish the cause of that multiplicity change. Located success entries exactly match all 107 Git-tracked Swift paths, with nine further success notices lacking locations; file inclusion and zero query findings do not prove complete imported-module semantics or absence of vulnerabilities. CLI version is 2.27.2; PR file-coverage metrics are unavailable under the Action's default policy. The separate PR #17 extraction/toolchain scope remains unchanged. No diagnostic, query, gate, source exclusion or workflow permission is weakened here.Remaining validation boundaries
Privacy and publication review