6.5 KiB
6.5 KiB
Task 7 — report
RED
- Creato
scripts/test-verify-dwh-auth-docs.shcon 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.shprima 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 serverpostgres_direct; Mac/remoti REST; nessun lifecycle Compose perdwh-auth. - Verificati TLS
.it/SAN,.comnon 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 -Tha prodotto il rifiutocase=sudo_raw_nginx_capture status=FAILprima della correzione del gate. - La fixture header legacy opaco ha prodotto
case=opaque_legacy_header_literal status=FAILprima della correzione del gate. - Dopo avere riallineato le label UI nei manuali,
bash scripts/test-verify-workspace-install-docs.shha prodottoserver-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,
exportdi API key,curl --headere-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-localrestarest_apisolo Mac/local/remota; il server PSD Project A restapostgres_directcon binding separato. La CA privata eTLS_CA_FILEsono 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.shegit 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.shha fallito il contratto di preservazione path ebash scripts/test-dwh-auth-nginx-integration.shha chiuso concase=header_and_path_isolation status=FAIL: il prefisso/dwharrivava 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=FAILperché 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 renamesfinché 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 unjournalctlche fallisca chiuso.
GREEN wave 2
- Commit
f616aab fix: preserve PostgREST RPC path through DWH proxy:proxy_passtermina con/; il contratto e l'integrazione verificano/dwh/rpc/ping?xverso/rpc/ping?x. - Il runbook usa un singolo file chiave v1, header file
0600passati solo concurl --header @file, socket 204 dual-key, HTTPS 2xx pre/post per v1 e 401 post-revoca per legacylegacy-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-only0600su storage cifrato approvato. - Lo scanner journal esegue
journalctlin 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.shebash scripts/verify-dwh-auth-docs.sh. - PASS:
bash scripts/test-verify-workspace-install-docs.shebash scripts/auth-docs-smoke.sh. - PASS:
bash -nsugli otto gate shell egit 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.