Files
ThothII/.superpowers/sdd/task-7-report.md
T

6.5 KiB
Raw Blame History

Task 7 — report

RED

  • Creato scripts/test-verify-dwh-auth-docs.sh con fixture positiva e fixture negative per credenziale/digest sintetici, TLS insicuro, segreto in env/argv, mode world-readable, cattura Nginx e coupling Compose.
  • Eseguito bash scripts/test-verify-dwh-auth-docs.sh prima del verificatore: case=verifier_missing status=FAIL.

GREEN

  • Aggiunti manuali server, client, TLS, runbook PSD, collaudo ed evidenza sanitizzata; collegati manuali locali/server, setup PSD, guida, indice e nav MkDocs.
  • Eseguiti: bash -n scripts/verify-dwh-auth-docs.sh scripts/test-verify-dwh-auth-docs.sh, bash scripts/test-verify-dwh-auth-docs.sh, bash scripts/verify-dwh-auth-docs.sh, bash scripts/test-verify-workspace-install-docs.sh, bash scripts/auth-docs-smoke.sh.
  • Tutti gli output finali sono PASS; il nuovo gate esercita una fixture positiva e nove negative.

Self-review

  • Verificati path/owner/mode: registry 2750, lock/record 0640, socket 0660.
  • Verificata separazione: chiavi solo rest_api; PSD server postgres_direct; Mac/remoti REST; nessun lifecycle Compose per dwh-auth.
  • Verificati TLS .it/SAN, .com non coperto, TLS_CA_FILE, fingerprint fuori banda, rinnovo e assenza di bypass.
  • Verificati due gate Task 9–10, evidenze solo metadati e nessuna migrazione di sessioni/index/cache legacy.

Concern

  • Nessuna mutazione PSD/Nginx/systemd/registry o lettura di segreti è stata eseguita. I comandi del runbook restano condizionati alle autorizzazioni separate dei Task 9 e 10.

Review fix — RED/GREEN

RED review

  • La fixture sudo nginx -T ha prodotto il rifiuto case=sudo_raw_nginx_capture status=FAIL prima della correzione del gate.
  • La fixture header legacy opaco ha prodotto case=opaque_legacy_header_literal status=FAIL prima della correzione del gate.
  • Dopo avere riallineato le label UI nei manuali, bash scripts/test-verify-workspace-install-docs.sh ha prodotto server-workspace-registry.md: curator flow missing registry rule: il verifier cercava ancora le due label precedenti. Il test sulla base HEAD e il diff hanno confermato la causa.

GREEN review

  • Il gate DWH ora rifiuta anche header opaco, digest JSON quotato, export di API key, curl --header e -H, sudo nginx -T, raw diff e Compose; le mutation fixture coprono label, PSD direct/Mac REST/CA, socket e flag REST.
  • Il runbook non prescrive raw diff o dump: solo checker strutturale e secret scan con metadati e PASS/FAIL. Il piano Task 10 adotta la stessa regola.
  • Il template psd-local resta rest_api solo Mac/local/remota; il server PSD Project A resta postgres_direct con binding separato. La CA privata e TLS_CA_FILE sono obbligatori salvo trust approvato equivalente.
  • Le procedure server ora coprono backup manifest protetto, restore, curl config 0600 senza segreto in argv/env/output, Unix 204/401, HTTPS 2xx/401, 503 bounded con trap, journal PASS/FAIL e retention alla disinstallazione.
  • Il verifier workspace-install e entrambi i manuali registry usano ora le quattro label effettive: Validate workspace source, Test workspace connections, Save entered secrets, Forget stored value.

Final verification review

  • PASS: bash scripts/test-verify-dwh-auth-docs.sh.
  • PASS: bash scripts/verify-dwh-auth-docs.sh.
  • PASS: bash scripts/test-verify-workspace-install-docs.sh (fixture complete).
  • PASS: bash scripts/auth-docs-smoke.sh.
  • PASS: bash -n scripts/verify-dwh-auth-docs.sh scripts/test-verify-dwh-auth-docs.sh e git diff --check.

Review concern

  • Nessuna mutazione runtime e nessun segreto reale sono stati letti. I soli comandi server documentati restano soggetti ai gate autorizzativi Task 9 e Task 10.

Review fix wave 2 — RED/GREEN

RED wave 2

  • Prima della correzione del proxy, bash scripts/test-dwh-auth-build-contract.sh ha fallito il contratto di preservazione path e bash scripts/test-dwh-auth-nginx-integration.sh ha chiuso con case=header_and_path_isolation status=FAIL: il prefisso /dwh arrivava a PostgREST invece di essere rimosso.
  • Prima delle procedure finali, il gate docs ha rifiutato il path chiave non deterministico e la fixture curl con header legacy opaco ha dato case=header_file_curl_synthetic status=FAIL perché il valore non veniva confrontato esattamente.
  • Le mutation fixture hanno catturato l'estrazione tar sul registro attivo e i rename non protetti. Dopo l'inasprimento finale del gate, la sorgente ha dato dwh-auth docs: restore must stage/check then use guarded same-filesystem renames finché mancava il controllo fail-closed del candidato.
  • Il RED finale dello scanner journal è stato dwh-auth docs: docs/install/dwh-auth-server.md lacks required topic: sys.argv[2:]: il gate esige la lettura byte-esatta di v1 e legacy e un journalctl che fallisca chiuso.

GREEN wave 2

  • Commit f616aab fix: preserve PostgREST RPC path through DWH proxy: proxy_pass termina con /; il contratto e l'integrazione verificano /dwh/rpc/ping?x verso /rpc/ping?x.
  • Il runbook usa un singolo file chiave v1, header file 0600 passati solo con curl --header @file, socket 204 dual-key, HTTPS 2xx pre/post per v1 e 401 post-revoca per legacy legacy-shared.
  • Restore protetto: staging sul filesystem /var/lib, check candidato, mv -T -- guardato per ogni publish/rollback e pre-restore conservato. Backup/manifest restano root-only 0600 su storage cifrato approvato.
  • Lo scanner journal esegue journalctl in un unico processo Python root, sopprime stderr, controlla return code e bytes esatti di entrambe le chiavi senza emettere journal o segreti; la shell mostra solo PASS/FAIL.
  • Il verifier rifiuta curl --config, header in argv, raw Nginx/diff, TLS insicuro, segreti env, mode insicuri e Compose. Le fixture mutano path chiave, ID legacy, header/legacy probes, restore, journal, codici HTTPS e label UI.

Final verification wave 2

  • PASS: bash scripts/test-dwh-auth-build-contract.sh.
  • PASS: bash scripts/test-dwh-auth-nginx-contract.sh.
  • PASS: bash scripts/test-dwh-auth-nginx-integration.sh.
  • PASS: bash scripts/test-verify-dwh-auth-docs.sh e bash scripts/verify-dwh-auth-docs.sh.
  • PASS: bash scripts/test-verify-workspace-install-docs.sh e bash scripts/auth-docs-smoke.sh.
  • PASS: bash -n sugli otto gate shell e git diff --check.

Review concern wave 2

  • Nessuna configurazione protetta, chiave reale, Nginx, systemd o stack PSD è stata letta o mutata. Le procedure privilegiate restano istruzioni condizionate ai Gate 9–10; la verifica degli owner/mode reali è un'attività del rollout autorizzato, non di questo task documentale.