feat: prod-merge-pass — PII-Gate GDPR-guardrail + realinfra-migration-test + security headers & repo-honesty doctor (PR#44-klassen) #56

Merged
admin merged 0 commits from feat/prod-merge-pass-20260915 into main 2026-09-15 00:54:32 +00:00
Owner

Samlad merge-pass av färdigutvecklade, omergade landningar (4 commits, cherry-pickade med konfliktlösning)

  1. feat(0pt): PII-Gate GDPR-guardrail (12080fc + 17bd1b4 från feat/pii-gate-gdpr)
    • src/services/pii-gate-service.ts + src/types/pii.ts — fail-closed guardrail för personal-data-källor
    • Legitimate-interest-stance dokumenterad (B2B contacts, company-linked only)
    • 11 tester (tests/p0/pii-gate.test.ts)
  2. fix(test): replay full migration chain (d41f305 från fix/source-registry-realinfra-migration-chain) — realinfra-testet spelar upp hela migreringskedjan
  3. fix(security,repo-honesty) (8ebc90f från PR #44/fix/security-headers-and-doctor-truth-20260907)
    • Riktiga security headers i next.config.mjs (CSP/HSTS/XFO/…), regression-gated (tests/security/security-headers.test.ts)
    • scripts/siax-doctor.mjs validerar NU VÄRDEN, inte bara närvaro; operationalState kräver daterad probe-record i evidence/operational-state.json
    • CHANGELOG: konfliktlösning med huvudstatus-honesty (exit-code-1-gates stängda av PR#45; gitleaks/SHA-pinning/SBOM öppna och spelade ut)

Konfliktlösningar: src/types/source.ts (owner_id behållen), next.config.mjs (standalone + headers båda bevarade), CHANGELOG.md (båda sidornas sanna poster, dedupe poweredByHeader, NOT-implemented-sektionen updaterad mot main:s faktiska läge).

Lokal verifiering

  • pnpm run typecheck PASS
  • vitest: 1028 passed, 184 skipped, 0 failed (77 filer)
  • PR#44 är därmed omsluten av denna PR (stängs vid merge).
## Samlad merge-pass av färdigutvecklade, omergade landningar (4 commits, cherry-pickade med konfliktlösning) 1. **feat(0pt): PII-Gate GDPR-guardrail** (12080fc + 17bd1b4 från `feat/pii-gate-gdpr`) - `src/services/pii-gate-service.ts` + `src/types/pii.ts` — fail-closed guardrail för personal-data-källor - Legitimate-interest-stance dokumenterad (B2B contacts, company-linked only) - 11 tester (`tests/p0/pii-gate.test.ts`) 2. **fix(test): replay full migration chain** (d41f305 från `fix/source-registry-realinfra-migration-chain`) — realinfra-testet spelar upp hela migreringskedjan 3. **fix(security,repo-honesty)** (8ebc90f från PR #44/`fix/security-headers-and-doctor-truth-20260907`) - Riktiga security headers i `next.config.mjs` (CSP/HSTS/XFO/…), regression-gated (`tests/security/security-headers.test.ts`) - `scripts/siax-doctor.mjs` validerar NU VÄRDEN, inte bara närvaro; `operationalState` kräver daterad probe-record i `evidence/operational-state.json` - CHANGELOG: konfliktlösning med huvudstatus-honesty (exit-code-1-gates stängda av PR#45; gitleaks/SHA-pinning/SBOM öppna och spelade ut) **Konfliktlösningar:** `src/types/source.ts` (owner_id behållen), `next.config.mjs` (standalone + headers båda bevarade), `CHANGELOG.md` (båda sidornas sanna poster, dedupe poweredByHeader, NOT-implemented-sektionen updaterad mot main:s faktiska läge). ## Lokal verifiering - `pnpm run typecheck` PASS - vitest: **1028 passed, 184 skipped, 0 failed** (77 filer) - PR#44 är därmed omsluten av denna PR (stängs vid merge).
CODEOWNERS rules requested review from sax3l 2026-09-15 00:45:21 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/0pt#56