Skip to content

Improve comparison evidence, optional field guidance, and safe exports - #18

Draft
hideouts-io wants to merge 12 commits into
mainfrom
codex/evidence-navigation-and-explanations
Draft

hideouts-io wants to merge 12 commits into
mainfrom
codex/evidence-navigation-and-explanations

Conversation

@hideouts-io

@hideouts-io hideouts-io commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

Summary

Complete the accepted comparison, raw-evidence, export, and optional plain-English development checkpoint.

  • Match reordered nested records conservatively, preserve duplicate multiplicity and original addresses, and reject ambiguous matches or incomplete collection rather than invent changes.
  • Index exact duplicate records by their full structured values instead of repeated linear searches. Local 10,000-record reversed-group checks improved from roughly 14–18 seconds to around half a second; cancelled work now fails explicitly.
  • Add separate baseline/current raw-evidence viewers to What Changed? and Review Details. Structured addresses distinguish literal keys, nested fields, null, and absent values; large values have lossless reconstructed-JSON pagination.
  • Keep plain-English field guidance explicitly optional and on-device. Only maintained field context is supplied, not reported values; unsupported, unavailable, and deliberately framework-free builds retain the existing explanations and ordinary app workflows.
  • Correct joined-emoji PDF shaping without dropping paginated text. Keep Markdown values unchanged and distinguish readable summaries from raw evidence.
  • Add precise Camera identifier explanations and remove opaque identifier object keys from redacted exports and anonymized samples without changing full private exports. Harden network interpretations and preserve uninterpreted values.
  • Add invented compatibility fixtures and an older-Intel test procedure. Preserve Open Layers branding and clarify that the current source features are not included in the published v0.1.2 download.

Dependency: this branch builds on and currently includes PR #14. This is a draft follow-on review PR against main so the existing three-language CodeQL workflow runs. Do not merge until the #14 dependency/integration relationship is resolved. No release, deployment, workflow/security-policy change, or private compatibility kit is included.

Validation

  • ./scripts/check-publication-boundary.sh
  • git diff --check
  • Native Xcode build/test, normal configuration: 278 total; 277 passed, one optional private-fixture skip, zero failures.
  • Native Xcode build/test with SYSTEM_PROFILER_WITHOUT_ON_DEVICE_MODEL: 277 total; 276 passed, the same optional skip, zero failures.
  • Universal arm64/x86_64 Release build and separate monolithic x86_64 framework-free Release build; minimum app target remains macOS 13.
  • Locked branding install with scripts disabled and npm run check; no dependency or branding changes.
  • Relevant native synthetic UI checks: structured evidence/literal keys/null/absent sides/pagination; normal and framework-free Camera explanations/sample export; current rebuilt candidate's malformed Camera redacted and full save-dialog outputs verified against exact structured assertions.
  • Actual native optional-model check: normal configuration generated maintained-context-only guidance; the framework-free configuration explicitly reported unavailable and did not generate.

Local native tests used x86_64 execution on an Apple-silicon host with Rosetta. The existing Unicode PDF rendering evidence was retained because its renderer and regression-test source remained unchanged during final hardening; the final suites reran its Unicode/pagination tests. Synthetic GUI checks are not live hardware or physical Intel/macOS 13–15 evidence. No snapshot-retention mutations were performed in the shared account.

Fresh hosted CI and all three CodeQL analyses/uploads must be verified at this PR's revision, including Swift extraction diagnostics labeled level: none; successful uploads or file counts alone do not establish complete imported-module semantics. Physical older-Intel runtime, older fonts/SDKs, spoken VoiceOver, other actual model-availability states, Gatekeeper distribution approval, Developer ID signing, and notarization remain unverified. The optional private-report performance fixture was not supplied.

Hosted candidate status

At the previous b9e1e3d checkpoint, both native push/PR CI jobs failed to compile the optional model adapter on Xcode 26.4.1: GenerationOptions requires the sampling: argument label, not the newer SDK's samplingMode:. Hosted tests therefore did not execute, Swift CodeQL failed during its build, and the strict results gate failed with uploads skipped.

Approved correction d47daa9 changes only that argument label. Greedy sampling, nil temperature, the 256-token limit, and optional-model/privacy behavior remain unchanged. Both full local configurations and both Release builds passed again with the totals above; the real native maintained-context-only generation and framework-free refusal checks also passed. The newer local SDK emits an expected deprecation warning for the older supported initializer; no warning or security check is suppressed.

Fresh push CI and PR CI passed for d47daa9 using Xcode 26.4.1/build 17E202. Both ran 278 total tests: 276 passed, two intentional skips (native-model opt-in and optional private fixture), zero failures. PR CI tested merge a598f718ddf254f390951cb91cc1efcb188e89bc, combining this head with main at eba9260; push CI tested the branch head. This confirms the previously failing hosted SDK compilation is corrected, not that every older Mac or model state was exercised.

The fresh three-language CodeQL run passed all three analyses, all three processed uploads, and the strict results gate. Published analyses are tied to the tested PR merge above. All three SARIFs report zero query findings; Actions and JavaScript/TypeScript have no extraction-error notification categories.

Swift extraction remains qualified, not complete imported-module proof. Its SARIF was inspected across all execution/configuration notification categories and levels. It contains 112 extraction diagnostics, all labeled level: none, compared with the retained PR #14 baseline's 104:

Diagnostic PR #14 baseline Current candidate
SDK compiler-branch mismatch 50 54
Failed precompiled SDK module emission 50 54
Swift module/compiler mismatch 2 3
NSAccessibilityElement ambiguity 2 1
Total 104 112

The current SDK/compiler diagnostics include Swift 6.3.1 modules being imported by the extractor's Swift 6.3.3 compiler and Apple Clang versus extractor LLVM branch mismatches. Additional SDK-family diagnostics appear for BackgroundAssets, ExtensionFoundation, Network, and dnssd; a lower ambiguity emission count does not establish that ambiguity was fixed. CodeQL CLI is 2.27.2 and the Swift query pack is 1.3.12. All 106 tracked Swift paths are represented by located success notifications, with nine further success notices lacking locations. Those notices and a zero-unresolved-AST metric do not establish complete imported-module semantics or absence of vulnerabilities. The SDK/toolchain extraction-quality issue remains separate from the corrected app compilation failure; no diagnostics, queries, sources, or gates were suppressed or weakened.

An additional rebuilt normal-app accessibility smoke imported the invented baseline, generated visibly labeled on-device field guidance, and dismissed back to the unchanged reported memory value and finding count. Its capture was thumbnail-sized, so this is functional accessibility evidence, not a fresh full-layout rendering check. Existing app instances were preserved.

This PR remains draft; the #14 dependency is unresolved and no merge/release/deployment is authorized. Published v0.1.2 is unchanged.

Privacy review

  • No raw or full profiler report is included
  • No serial number, UUID, UDID, address, user path, installed-software list, or other host fingerprint is included
  • Test data is synthetic and screenshots are sanitized; no new screenshot or local GUI export is included
  • New profiler interpretations state their limitations and do not label normal output as compromise without evidence

Only reviewed source, tests, invented fixtures, project registration, and documentation are committed. Local reports, snapshots, test results, captures, logs, and the ad-hoc-signed compatibility kit remain outside this PR.

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.
@hideouts-io hideouts-io self-assigned this Oct 14, 2026
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant