Read Maester `Result` as the native status when no separate Status
column exists, so the Work deviation filter matches the documented
Maester rule again (regressed in the vulnerability result type commit).
Expect the Result DB audience in Michael's empty-state test and record
the rebase and product version 2.17.0 in the implementation plan.
Defender part of 21a6266 on disclosure policy 3.5.0: Defender is a known
Result DB tool, and a formally valid public CVE ID crosses as rule ID and
title. Includes the securityToolId mapping deferred from c056c21 and a
projection regression for Work and Result DB titles.
Device part of 95ec322: scoped risk targets are derived from the source
rows of each occurrence, so a device-finding cannot target a device that
the selected occurrence does not list.
Defender part of 3f6259d: 14px labels and table headers, compact metric
tiles inside a segment, marker width token. Keeps the tile hairline,
shared text roles and the blue table-row marker.
Adapted pick of fdd46e8: recognition, source extractor, domain model and
tool profile for Defender for IoT alert exports, the common-description
first read with its AGENTS.md rule, and the shared markdown, recognition,
status-outcome and scan-sequence changes.
Also brings forward two fixes Defender needs on this base: the title
fallback in recordTitleFor (from 210bbc0) and the Source Rule ID
exception for ID columns that are the finding title (from 21a6266).
Product version 2.12.0 for the Defender series.
Adapted pick of d9ff6a8: device-finding and device-snapshot targets with
immutable snapshots, migration 028, repositories, API, Defender panel,
Finding Reader and the Accepted Risks register.
Unlike the original, the register keeps the base rule for its current
count, and a scoped decision covers only the occurrences it captured.
After a reimport it stays with its full history, shows Review required
and covers nothing, like a whole-finding acceptance.
Partial pick of b438f25. CVE, device and site rows expand their details
in place; the Affected Devices table lists name and IP separately.
Unlike the original, the expanded row uses the blue table-row marking
tokens and the drill-down keeps the shared tile tokens. The NVD client
fix is left out with the skipped CVE enrichment.
Adapted pick of 08771d5. findingOutcomeMark supplies the outcome mark in
the Work card and the Finding Reader header, including sources without a
status column. The Defender panel uses the Client Info header and a
six-column metrics row.
Unlike the original, tiles stay on the shared tile and text tokens
instead of --client-info-* colours, border: 0 and --btn-radius.
Partial pick of 33d2019: the CANONICAL_MODEL.md section and the comment
on CanonicalResultType.
Left out: the Defender backfill migration and the read-side outcome
fallback in unified-result.ts with its test.
Adapted pick of fe71246. Adds the vulnerability_finding result type,
missingStatusOutcome for sources whose rows are the finding, and Defender
profile 1.1.0. The Work deviation filter uses the canonical predicate
through isDeviationRecord; Michael's GPO status logic and status cache
stay in front of it.
The constraint migration is renumbered from 022 to 027. The CVE
enrichment commit e048295 is skipped for now.
Partial pick of 5fbbda2. One finding per CVE with an Affected Devices
table and device count; the Finding Reader hides the raw Source
Observations field.
Left out: the Affected Devices label in the Result DB row detail, since
the disclosure policy withholds affectedAsset for every row.
Adapted pick of 7d3ef5f. The profile declares the now mandatory
securityScoring, priorityBasis and timeslotComparison. Client Info adds
Defender as a third tab beside Overview and AI Overview, and a
Defender-only timeslot starts in the Defender view. recordTitleFor only
replaces the title candidate; the Maester and CIS title rules stay.
Left out: the .gitignore entry, --tile-inset, the stored-profile
precedence Michael's fileProfile already has, and the old processing
version assertion.
Partial pick of 95ec322: a failed or queued regeneration keeps the previous successful AI overview visible, and a stored ISO mapping stays readable while the retrieval index is unavailable. The Defender device risk-acceptance fix of that commit is not taken here.
Partial pick of 3f6259d: both hooks bind each response to its request scope and discard a late response for a previous selection. The Result window palette, MITRE path gradient removal and Defender styles of that commit are not taken.
policy-evaluation rows map like scanner findings in the Finding Reader and the filtered Result DB batch. The query is built after the Result DB disclosure projection, so the customer value never reaches retrieval or the mapper. The global rule key is the technical setting ID; Work GPO rows carry their current comparison ID. Raw GPO and environment observations stay excluded. Retrieval version unchanged.
Actionable policy-evaluation findings carry a policy block built from the Result DB disclosure projection, so the customer value stays withheld. Raw policy observations are counted separately instead of as findings.
Die CSS-Dateien werden beim Einlesen auf LF normalisiert, weil
Windows-Checkouts mit core.autocrlf=true CRLF liefern. Die
Vertragspruefungen selbst bleiben unveraendert.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Projekt-Hooks fuer die Core/Engine-Regel aus AGENTS.md: core-release.mjs
liest "Core-Freigabe: <Bereich>" aus der Nutzernachricht, core-guard.mjs
sperrt Schreibzugriffe auf Core-Pfade ohne Freigabe, core-areas.mjs
ordnet Pfade den Bereichen zu. Tests, Builds und Lesebefehle werden nicht
gesperrt.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Die fuenf im Umsetzungsplan referenzierten HTML-Entwuerfe mit ihren
lokalen Assets (Inter, Icon) als Beleg der Phase-7-Planeintraege.
Nur Daten des freigegebenen Dummy-Clients; keine externen Ressourcen,
keine Skripte. Das Icon ist trotz *.png-Regel gezielt aufgenommen.
Lokale Download-ZIPs werden per .gitignore ausgeschlossen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Die Client-Info-Aktion Management Report erzeugt den faktenbasierten
HTML-Bericht aus der gemeinsamen Reportprojektion: erfasste DC,
bewertete und abweichende Ergebnisse, Heatmap des Abweichungsanteils
und Pass-/Abweichungsbalken je Security Domain. Kein Mixed-Method-Score,
keine Scannerlisten, keine LLM-, Internet- oder Risikoableitung.
Report B bleibt technisch. Keine Projektions-, API- oder Persistenz-
aenderung.
Verifiziert: Vollsuite 1645 bestanden, 14 uebersprungen; 7 bestehende
Fehler in 6 Dateien identisch auf dem vorherigen Commit. Beide
Produktionsbuilds bestanden. Visuelle Browserabnahme offen.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nutzerfreigabe 2026-09-30: kuratierter, quellenbelegter Katalog,
UI-Reihenfolge und Work-Facette Kontext-Cluster. Der Kontext ist eine
parallele, abschaltbare Lesart und beeinflusst nie Verdict, Score,
Filter, Reviews oder Result DB. Kernregel in AGENTS.md aufgenommen;
offene Report-Engine-Entscheidungen im Plan vermerkt. Nur Dokumentation,
Produktversion unveraendert.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Result DB is checked and stored on creation (migration 024, assessor_result_db_rows)
with a content-free per-row trace, per-client identity guard and Open original in Work
- Disclosure policy 3.4.0: review state no longer revealed via withheld-field trace,
per-finding scanner scores withheld, CIS numbers keep all seven levels
- Less over-redaction: "Limited" is no legal form, attached versions (Tls1.2, v1.0),
Windows 95, 2012-R2, step/option/page references, documented Microsoft GUIDs and
documented vendor values in the recommendation field stay
- Maester first read shows the native result statement verbatim
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reference recognition (Phase 13D, 2.8.0-2.8.5):
- ATT&CK 19.2 / D3FEND 1.6.0 catalogs, versioned recognizer and
append-only reference runs (migration 023), catalog references in the
reader, Data Hub status and reprocessing, MITRE online update.
Scanner report and Work (2.8.6):
- Resolve scope-named Purple Knight runs to their profile via runNames.
- Maester "Remediation action" section as next step; PowerShell scripts
as command blocks with display-only line layout.
- Purple Knight likelihood without the appended references section.
- CIS section titles from the run's own report in the CIS Category
filter, Work headings and badge tooltips.
- Keep all record metadata when GPO results rebuild All Records
(withRebuiltLayout) with a guard test for future metadata.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>