phase 16 implementation

This commit is contained in:
root
2026-06-25 20:08:39 -04:00
parent 5d017f533a
commit c43620a005
248 changed files with 18458 additions and 90 deletions
@@ -0,0 +1,43 @@
Phase 14 command summary
Date: 2026-06-25
Observed runtime: Node 22.16.0
Authoritative runtime still required: Node 24.17.0 / pnpm 11.9.0
1. npm install --offline --engine-strict=false --ignore-scripts --no-audit --no-fund
Exit: 0. Fallback execution only; does not replace frozen pnpm release gate.
2. npm run validate
Exit: 0. Phase 9-14 static validators passed.
3. npm run format:check
Exit: 0.
4. npm run lint
Exit: 0, zero warnings.
5. npm run typecheck
Exit: 0 after deterministic Next route-type generation and stale development-type cleanup.
6. npm run test:unit
Exit: 0. 13 files, 39 tests. Coverage: statements 92.4%, branches 86.04%, functions 95.45%, lines 92.64%.
7. npm run test:integration
Exit: 0. 1 file, 4 tests.
8. npm run test:security
Exit: 0.
9. npm run test:privacy
Exit: 0.
10. SITE_ORIGIN=http://127.0.0.1:3000 PUBLIC_RELEASE_APPROVED=false npm run build
Exit: 0. Optimized build and standalone preparation completed in 29 seconds.
11. Standalone HTTP smoke
GET /en: 200. GET /api/demo: 405. Valid production POST /api/demo: 503 lead_destination_not_approved.
12. npm audit --offline --audit-level=low
Exit: 0. Zero reported vulnerabilities in the available npm lock/cache.
13. High-confidence source secret-pattern scan
Exit: 0. No matches.
14. Playwright Chromium Phase 14 browser workflow
Exit: 1, environment-blocked. Five scenarios rejected before application response by net::ERR_BLOCKED_BY_ADMINISTRATOR.
15. Playwright Chromium Phase 14 axe workflow
Exit: 1, environment-blocked. Three scenarios rejected by the same policy.
16. Playwright Chromium Phase 14 visual workflow
Exit: 1, environment-blocked. Five scenarios rejected by the same policy; no baseline approved.
17. npm run manifest:generate
Exit: 0. Final manifest generated for the assembled repository.
18. npm run validate:package
Exit: 0. Manifest verified with no missing, changed, unsafe, duplicate, or extra files.
Detailed stdout, exit codes, and durations are under docs/quality/logs/phase14/.
+137
View File
@@ -0,0 +1,137 @@
Phase 14 file changes relative to the delivered Phase 13 repository
Generated: 2026-06-25
ADDED (107)
docs/DECISION_LOG_v14.0.md
docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv
docs/PHASE_14_IMPLEMENTATION_REPORT_v1.0.md
docs/PHASE_15_HANDOFF_v1.0.md
docs/phase14/ANALYTICS_EVENT_REGISTRY_v1.0.csv
docs/phase14/COMPONENT_VARIANT_UPDATE_v1.0.md
docs/phase14/CONSENT_MATRIX_v1.0.csv
docs/phase14/DATA_FLOW_INVENTORY_v1.0.csv
docs/phase14/DEMO_FORM_CONTRACT_v1.0.md
docs/phase14/DESTINATION_REGISTRY_v1.0.csv
docs/phase14/ENVIRONMENT_VARIABLE_INVENTORY_v1.0.csv
docs/phase14/EXTERNAL_SERVICE_INVENTORY_v1.0.csv
docs/phase14/FEATURE_FLAG_INVENTORY_v1.0.csv
docs/phase14/INTEGRATION_ARCHITECTURE_v1.0.md
docs/phase14/INTEGRATION_TRACEABILITY_MATRIX_v1.0.csv
docs/phase14/PERFORMANCE_AND_BUNDLE_REPORT_v1.0.md
docs/phase14/PRIVACY_REVIEW_REPORT_v1.0.md
docs/phase14/RELEASE_GATE_MATRIX_v1.0.csv
docs/phase14/SECURITY_REVIEW_REPORT_v1.0.md
docs/phase14/SUCCESS_FAILURE_STATE_INVENTORY_v1.0.csv
docs/quality/PHASE_14_COMMAND_LOG_v1.0.txt
docs/quality/PHASE_14_FILE_CHANGES_v1.0.txt
docs/quality/PHASE_14_HTTP_ROUTE_RESULTS_v1.0.json
docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv
docs/quality/PHASE_14_VALIDATION_RESULTS_v1.0.json
docs/quality/PHASE_14_VALIDATION_RESULTS_v1.0.md
docs/quality/PHASE_14_VISUAL_REGRESSION_RESULTS_v1.0.json
docs/quality/logs/phase14/a11y-integration-chromium.log
docs/quality/logs/phase14/browser-integration-chromium.log
docs/quality/logs/phase14/bundle-inventory.log
docs/quality/logs/phase14/dependency-audit.log
docs/quality/logs/phase14/format-check-initial.duration
docs/quality/logs/phase14/format-check-initial.exit
docs/quality/logs/phase14/format-check-initial.log
docs/quality/logs/phase14/format-check.duration
docs/quality/logs/phase14/format-check.exit
docs/quality/logs/phase14/format-check.log
docs/quality/logs/phase14/format-write.exit
docs/quality/logs/phase14/format-write.log
docs/quality/logs/phase14/integration-tests.log
docs/quality/logs/phase14/lint-initial.duration
docs/quality/logs/phase14/lint-initial.exit
docs/quality/logs/phase14/lint-initial.log
docs/quality/logs/phase14/lint.duration
docs/quality/logs/phase14/lint.exit
docs/quality/logs/phase14/lint.log
docs/quality/logs/phase14/next-typegen.exit
docs/quality/logs/phase14/next-typegen.log
docs/quality/logs/phase14/npm-install-baseline.exit
docs/quality/logs/phase14/npm-install-baseline.log
docs/quality/logs/phase14/npm-install-fallback.log
docs/quality/logs/phase14/npm-install-offline.duration
docs/quality/logs/phase14/npm-install-offline.exit
docs/quality/logs/phase14/npm-install-offline.log
docs/quality/logs/phase14/phase14-environment.log
docs/quality/logs/phase14/phase14-integrations.log
docs/quality/logs/phase14/phase14-privacy.log
docs/quality/logs/phase14/phase14-security.log
docs/quality/logs/phase14/playwright-inventory.log
docs/quality/logs/phase14/production-build.log
docs/quality/logs/phase14/secret-scan.log
docs/quality/logs/phase14/static-validations.duration
docs/quality/logs/phase14/static-validations.exit
docs/quality/logs/phase14/static-validations.log
docs/quality/logs/phase14/typecheck-initial.duration
docs/quality/logs/phase14/typecheck-initial.exit
docs/quality/logs/phase14/typecheck-initial.log
docs/quality/logs/phase14/typecheck.duration
docs/quality/logs/phase14/typecheck.exit
docs/quality/logs/phase14/typecheck.log
docs/quality/logs/phase14/unit-initial.log
docs/quality/logs/phase14/unit-tests-coverage.log
docs/quality/logs/phase14/unit.log
docs/quality/logs/phase14/visual-integration-chromium.log
scripts/generate-phase14-manifest.mjs
scripts/prepare-typecheck.mjs
scripts/validate-phase14-environment.mjs
scripts/validate-phase14-integrations.mjs
scripts/validate-phase14-manifest.mjs
scripts/validate-phase14-privacy.mjs
scripts/validate-phase14-security.mjs
src/app/api/demo/route.ts
src/components/integrations/DemoDialogHost.module.css
src/components/integrations/DemoDialogHost.tsx
src/components/integrations/DemoTrigger.tsx
src/lib/analytics/client.ts
src/lib/analytics/events.ts
src/lib/demo/adapters/blocked.ts
src/lib/demo/adapters/index.ts
src/lib/demo/adapters/local.ts
src/lib/demo/adapters/types.ts
src/lib/demo/idempotency.ts
src/lib/demo/redaction.ts
src/lib/demo/schema.ts
src/lib/demo/service.ts
src/lib/integrations/destinations.ts
src/lib/integrations/environment.ts
src/lib/integrations/feature-flags.ts
tests/a11y/integrations/demo-workflow.a11y.spec.ts
tests/browser/integrations/demo-workflow.spec.ts
tests/integration/demo-service.test.ts
tests/unit/integrations/analytics.test.ts
tests/unit/integrations/demo-schema.test.ts
tests/unit/integrations/destinations.test.ts
tests/unit/integrations/redaction.test.ts
tests/visual/integrations.visual.spec.ts
vitest.integration.config.ts
CHANGED (21)
.env.example
CONTRIBUTING.md
README.md
package.json
playwright.config.ts
scripts/run-checks.mjs
scripts/run-validations.mjs
src/app/[locale]/layout.tsx
src/app/[locale]/page.tsx
src/components/app-shell/MobileNavigation.tsx
src/components/app-shell/SiteFooter.tsx
src/components/app-shell/SiteHeader.module.css
src/components/app-shell/SiteHeader.tsx
src/components/forms/FormField.tsx
src/components/forms/TextInput.tsx
src/components/marketing/CTA.tsx
src/content/locales/ar/homepage.json
src/content/locales/en/homepage.json
src/content/locales/fr/homepage.json
tests/browser/homepage.spec.ts
tsconfig.json
DELETED (0)
(none)
@@ -0,0 +1,32 @@
{
"date": "2026-06-25",
"environment": {
"node": "22.16.0",
"package_execution": "npm fallback",
"server": "Next.js standalone production server",
"origin": "http://127.0.0.1:3000"
},
"checks": [
{
"method": "GET",
"path": "/en",
"status": 200,
"result": "pass",
"evidence": "Localized title and security headers returned"
},
{
"method": "GET",
"path": "/api/demo",
"status": 405,
"result": "pass",
"evidence": "Unsupported method rejected"
},
{
"method": "POST",
"path": "/api/demo",
"status": 503,
"result": "pass",
"evidence": "Structurally valid fictional request failed closed with lead_destination_not_approved"
}
]
}
@@ -0,0 +1,11 @@
id,area,environment,locale,theme,viewport,input_or_assistive_technology,expected,status,evidence,issue
P14-M01,Hero demo CTA,Unblocked pinned browser,en,light,1440x900,Keyboard,Dialog opens and focus enters title or first field,Not run,Requires human browser observation,P14-008
P14-M02,Header and final CTA,Unblocked pinned browser,fr,dark,1024x768,Keyboard and pointer,All sources open the same localized workflow,Not run,Requires human browser observation,P14-008
P14-M03,Arabic form order,Unblocked pinned browser,ar,light,390x844,Screen reader and touch,Logical RTL order and mixed-direction values remain readable,Not run,Requires Arabic AT observation,P14-008
P14-M04,Validation summary,Unblocked pinned browser,en,system,768x1024,Keyboard and screen reader,Summary is announced and errors are connected to controls,Not run,Requires human AT observation,P14-008
P14-M05,Zoom and reflow,Unblocked pinned browser,fr,light,320 CSS px equivalent,200 and 400 percent zoom,No page horizontal overflow and actions remain operable,Not run,Requires manual zoom review,P14-008
P14-M06,Forced colors and reduced motion,Unblocked pinned browser,en,dark,1440x900,Windows forced colors and reduced motion,Focus and statuses remain perceivable,Not run,Requires platform review,P14-008
P14-M07,Timeout and retry,Production-like test adapter,en,light,390x844,Slow network simulation,Retryable failure preserves input and retry is bounded,Not run,Requires browser network control,P14-008
P14-M08,Offline transition,Production-like test adapter,ar,dark,390x844,Offline simulation,Failure is localized and no false success appears,Not run,Requires browser network control,P14-008
P14-M09,Success refresh and back,Production-like test adapter,en,light,1440x900,Browser history,No accidental duplicate request or personal data in URL,Not run,Requires browser history observation,P14-008
P14-M10,Production blocked state,Standalone server,en,light,n/a,Command-line HTTP,Valid request is rejected until destination approval,Pass,HTTP 503 with lead_destination_not_approved in production smoke test,none
1 id area environment locale theme viewport input_or_assistive_technology expected status evidence issue
2 P14-M01 Hero demo CTA Unblocked pinned browser en light 1440x900 Keyboard Dialog opens and focus enters title or first field Not run Requires human browser observation P14-008
3 P14-M02 Header and final CTA Unblocked pinned browser fr dark 1024x768 Keyboard and pointer All sources open the same localized workflow Not run Requires human browser observation P14-008
4 P14-M03 Arabic form order Unblocked pinned browser ar light 390x844 Screen reader and touch Logical RTL order and mixed-direction values remain readable Not run Requires Arabic AT observation P14-008
5 P14-M04 Validation summary Unblocked pinned browser en system 768x1024 Keyboard and screen reader Summary is announced and errors are connected to controls Not run Requires human AT observation P14-008
6 P14-M05 Zoom and reflow Unblocked pinned browser fr light 320 CSS px equivalent 200 and 400 percent zoom No page horizontal overflow and actions remain operable Not run Requires manual zoom review P14-008
7 P14-M06 Forced colors and reduced motion Unblocked pinned browser en dark 1440x900 Windows forced colors and reduced motion Focus and statuses remain perceivable Not run Requires platform review P14-008
8 P14-M07 Timeout and retry Production-like test adapter en light 390x844 Slow network simulation Retryable failure preserves input and retry is bounded Not run Requires browser network control P14-008
9 P14-M08 Offline transition Production-like test adapter ar dark 390x844 Offline simulation Failure is localized and no false success appears Not run Requires browser network control P14-008
10 P14-M09 Success refresh and back Production-like test adapter en light 1440x900 Browser history No accidental duplicate request or personal data in URL Not run Requires browser history observation P14-008
11 P14-M10 Production blocked state Standalone server en light n/a Command-line HTTP Valid request is rejected until destination approval Pass HTTP 503 with lead_destination_not_approved in production smoke test none
@@ -0,0 +1,139 @@
{
"date": "2026-06-25",
"runtime": {
"observed_node": "22.16.0",
"required_node": "24.17.0",
"observed_package_path": "npm offline fallback",
"required_package_manager": "pnpm 11.9.0"
},
"results": [
{
"name": "Phase 9-14 static validation",
"status": "pass",
"evidence": "docs/quality/logs/phase14/static-validations.log"
},
{
"name": "Formatting",
"status": "pass",
"exit_code": 0,
"evidence": "docs/quality/logs/phase14/format-check.log"
},
{
"name": "Lint",
"status": "pass",
"exit_code": 0,
"evidence": "docs/quality/logs/phase14/lint.log"
},
{
"name": "Strict TypeScript",
"status": "pass",
"exit_code": 0,
"evidence": "docs/quality/logs/phase14/typecheck.log"
},
{
"name": "Unit tests",
"status": "pass",
"files": 13,
"passed": 39,
"failed": 0,
"coverage": {
"statements": 92.4,
"branches": 86.04,
"functions": 95.45,
"lines": 92.64
},
"evidence": "docs/quality/logs/phase14/unit-tests-coverage.log"
},
{
"name": "Integration tests",
"status": "pass",
"files": 1,
"passed": 4,
"failed": 0,
"evidence": "docs/quality/logs/phase14/integration-tests.log"
},
{
"name": "Security static tests",
"status": "pass",
"evidence": "docs/quality/logs/phase14/phase14-security.log"
},
{
"name": "Privacy static tests",
"status": "pass",
"evidence": "docs/quality/logs/phase14/phase14-privacy.log"
},
{
"name": "Environment validation",
"status": "pass",
"evidence": "docs/quality/logs/phase14/phase14-environment.log"
},
{
"name": "Integration structure validation",
"status": "pass",
"evidence": "docs/quality/logs/phase14/phase14-integrations.log"
},
{
"name": "Production build",
"status": "pass",
"exit_code": 0,
"duration_seconds": 29,
"evidence": "docs/quality/logs/phase14/production-build.log"
},
{
"name": "Standalone HTTP smoke",
"status": "pass",
"evidence": "docs/quality/PHASE_14_HTTP_ROUTE_RESULTS_v1.0.json"
},
{
"name": "Dependency audit",
"status": "pass",
"vulnerabilities": 0,
"note": "npm offline fallback; frozen pnpm audit still required",
"evidence": "docs/quality/logs/phase14/dependency-audit.log"
},
{
"name": "Secret scan",
"status": "pass",
"evidence": "docs/quality/logs/phase14/secret-scan.log"
},
{
"name": "Browser integration",
"status": "environment-blocked",
"attempted": 5,
"passed": 0,
"reason": "net::ERR_BLOCKED_BY_ADMINISTRATOR",
"evidence": "docs/quality/logs/phase14/browser-integration-chromium.log"
},
{
"name": "Accessibility browser",
"status": "environment-blocked",
"attempted": 3,
"passed": 0,
"reason": "net::ERR_BLOCKED_BY_ADMINISTRATOR",
"evidence": "docs/quality/logs/phase14/a11y-integration-chromium.log"
},
{
"name": "Visual regression",
"status": "environment-blocked",
"attempted": 5,
"passed": 0,
"reason": "net::ERR_BLOCKED_BY_ADMINISTRATOR",
"evidence": "docs/quality/logs/phase14/visual-integration-chromium.log"
},
{
"name": "Manual QA",
"status": "not-run",
"evidence": "docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv"
},
{
"name": "Pinned runtime and frozen install",
"status": "environment-blocked",
"issue": "P14-009"
},
{
"name": "Package manifest",
"status": "pass",
"evidence": "PHASE_14_PACKAGE_MANIFEST_v1.0.json"
}
]
}
@@ -0,0 +1,27 @@
# Phase 14 Validation Results
Date: 2026-06-25
## Passed in the available environment
- Phase 9 through Phase 14 static validators.
- Prettier and ESLint with zero warnings.
- Strict TypeScript after deterministic Next route-type generation.
- 39 unit tests across 13 files with 92.4% statement, 86.04% branch, 95.45% function, and 92.64% line coverage.
- Four integration tests covering success, normalized failure, timeout, and idempotency coalescing.
- Phase 14 security, privacy, environment, destination, form, and analytics validators.
- Optimized Next.js production build and standalone preparation.
- Direct HTTP 200 for `/en`, 405 for unsupported API GET, and fail-closed 503 for a valid production demo POST without an approved destination.
- Offline npm dependency audit with zero reported vulnerabilities.
- High-confidence source secret-pattern scan.
- Phase 14 package manifest generation and verification.
## Environment-blocked or not run
- Browser workflow: five scenarios attempted, all blocked before application response by system Chromium `net::ERR_BLOCKED_BY_ADMINISTRATOR`.
- Axe accessibility: three locale scenarios attempted, same browser policy block.
- Visual regression: five scenarios attempted, same browser policy block; no product baseline accepted.
- Manual keyboard, touch, screen-reader, zoom, reduced-motion, forced-colors, theme, locale, viewport, slow-network, offline, and history review.
- Exact Node 24.17.0 and pnpm 11.9.0 frozen installation and audit.
These constraints remain release gates. An authored test is not an observed pass merely because the code looks emotionally prepared for success.
@@ -0,0 +1,12 @@
{
"date": "2026-06-25",
"status": "environment-blocked",
"browser": "system Chromium",
"reason": "net::ERR_BLOCKED_BY_ADMINISTRATOR on loopback navigation before application response",
"authored_scenarios": 5,
"executed_scenarios": 5,
"product_baselines_approved": 0,
"notes": "Failure screenshots represent the administrative block page and must not be accepted as product baselines.",
"evidence": "docs/quality/logs/phase14/visual-integration-chromium.log",
"issue": "P14-008"
}
@@ -0,0 +1,199 @@
{
"audit": "Phase 15 dependency-free static repository audit",
"finding_counts": {
"High": 4,
"Medium": 7
},
"findings": [
{
"code": "ci_integration_suite_omitted",
"message": "CI does not execute the demo-service integration suite.",
"path": ".github/workflows/ci.yml",
"severity": "High"
},
{
"code": "issue_register_overflow",
"message": "One or more issue-register rows contain overflow columns.",
"path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
"severity": "High"
},
{
"code": "malformed_csv",
"line": 43,
"message": "Expected 9 columns, found 11.",
"path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
"severity": "High"
},
{
"code": "malformed_csv",
"line": 11,
"message": "Expected 11 columns, found 10.",
"path": "docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv",
"severity": "High"
},
{
"code": "loose_content_type_match",
"message": "JSON API still uses a prefix media-type check.",
"path": "src/",
"severity": "Medium"
},
{
"code": "content_type_helper_not_used",
"message": "Demo API does not use exact JSON media-type validation.",
"path": "src/app/api/demo/route.ts",
"severity": "Medium"
},
{
"code": "missing_exact_content_type_control",
"message": "Exact application/json media-type helper is absent.",
"path": "src/lib/security/content-type.ts",
"severity": "Medium"
},
{
"code": "stale_theme_storage_key",
"message": "Visual test writes a storage key the application never reads.",
"path": "tests/visual/component-system.visual.spec.ts",
"severity": "Medium"
},
{
"code": "theme_storage_key_missing",
"message": "Visual test does not use the canonical theme storage key.",
"path": "tests/visual/component-system.visual.spec.ts",
"severity": "Medium"
},
{
"code": "visual_project_scope",
"message": "Canonical snapshot test is not restricted to Chromium.",
"path": "tests/visual/component-system.visual.spec.ts",
"severity": "Medium"
},
{
"code": "visual_project_scope",
"message": "Canonical integration snapshots are not restricted to Chromium.",
"path": "tests/visual/integrations.visual.spec.ts",
"severity": "Medium"
}
],
"metrics": {
"csv_files_parsed": 44,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 467,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
"issue_register_rows": 42,
"json_files_parsed": 41,
"release_gate_path": "docs/phase14/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 4,
"Blocked by validator": 1,
"Environment blocked": 2,
"Open": 1,
"Partial": 2
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 378,
"suffix_counts": {
".css": 48,
".csv": 44,
".duration": 8,
".example": 1,
".exit": 20,
".js": 1,
".json": 41,
".log": 45,
".md": 57,
".mjs": 33,
".png": 6,
".svg": 2,
".ts": 74,
".tsx": 66,
".txt": 8,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2182586,
"unresolved_issue_counts": {
"Critical": 1,
"High": 20,
"Low": 2,
"Medium": 17
}
},
"passed": false,
"root": "/mnt/data/phase14_baseline",
"schema_version": "1.0"
}
@@ -0,0 +1,148 @@
# Phase 15 Static Repository Audit
- Result: **FAIL**
- Files inspected: 467
- JSON files parsed: 41
- CSV files parsed: 44
- Secret-scan files: 378
- Findings: {"High": 4, "Medium": 7}
## Findings
| Severity | Code | Path | Line | Finding |
|---|---|---|---:|---|
| High | `ci_integration_suite_omitted` | `.github/workflows/ci.yml` | | CI does not execute the demo-service integration suite. |
| High | `issue_register_overflow` | `docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv` | | One or more issue-register rows contain overflow columns. |
| High | `malformed_csv` | `docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv` | 43 | Expected 9 columns, found 11. |
| High | `malformed_csv` | `docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv` | 11 | Expected 11 columns, found 10. |
| Medium | `loose_content_type_match` | `src/` | | JSON API still uses a prefix media-type check. |
| Medium | `content_type_helper_not_used` | `src/app/api/demo/route.ts` | | Demo API does not use exact JSON media-type validation. |
| Medium | `missing_exact_content_type_control` | `src/lib/security/content-type.ts` | | Exact application/json media-type helper is absent. |
| Medium | `stale_theme_storage_key` | `tests/visual/component-system.visual.spec.ts` | | Visual test writes a storage key the application never reads. |
| Medium | `theme_storage_key_missing` | `tests/visual/component-system.visual.spec.ts` | | Visual test does not use the canonical theme storage key. |
| Medium | `visual_project_scope` | `tests/visual/component-system.visual.spec.ts` | | Canonical snapshot test is not restricted to Chromium. |
| Medium | `visual_project_scope` | `tests/visual/integrations.visual.spec.ts` | | Canonical integration snapshots are not restricted to Chromium. |
## Metrics
```json
{
"csv_files_parsed": 44,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 467,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv",
"issue_register_rows": 42,
"json_files_parsed": 41,
"release_gate_path": "docs/phase14/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 4,
"Blocked by validator": 1,
"Environment blocked": 2,
"Open": 1,
"Partial": 2
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 378,
"suffix_counts": {
".css": 48,
".csv": 44,
".duration": 8,
".example": 1,
".exit": 20,
".js": 1,
".json": 41,
".log": 45,
".md": 57,
".mjs": 33,
".png": 6,
".svg": 2,
".ts": 74,
".tsx": 66,
".txt": 8,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2182586,
"unresolved_issue_counts": {
"Critical": 1,
"High": 20,
"Low": 2,
"Medium": 17
}
}
```
+185
View File
@@ -0,0 +1,185 @@
Phase 15 Command Log
Date: 2026-06-25
================================================================================
FILE: docs/quality/phase15-command-logs/01-validate.json
================================================================================
{"command":"node scripts/run-validations.mjs","exit_code":0,"wall_seconds":1,"log":"docs/quality/phase15-command-logs/01-validate.log"}
================================================================================
FILE: docs/quality/phase15-command-logs/01-validate.log
================================================================================
PASS: Phase 9 contract package is immutable and 61 payload checksums match.
PASS: Pinned Node 24.17.0, pnpm 11.9.0, and 25 exact direct dependency versions match the lockfile.
PASS: English, French, and Arabic catalogs have exact key parity and valid direction metadata.
PASS: 5 route IDs have complete locale, runtime, hash, query, and hreflang contracts.
PASS: Phase 9 semantic tokens are unchanged and application styles contain no raw palette colors.
PASS: Phase 11 component tokens, theme fallback, and application-shell foundations are present.
PASS: 47 CSS files use direction-safe logical declarations.
PASS: Runtime source contains no placeholder destination, simulated submission, or research-only backdoor.
PASS: Localized canonical, hreflang, Open Graph, social, and robots foundations are present.
PASS: 60 inventory entries and 96 component source files satisfy Phase 12 static controls.
PASS: Phase 13 homepage composition, content model, destination gates, and test artifacts satisfy static controls.
PASS: Phase 14 integration structure, form contract, destinations, and locale resources are present.
PASS: Phase 14 environment inventory is explicit and defaults production integrations to blocked.
PASS: Phase 14 API boundary includes origin, content-type, size, timeout, idempotency, and no-raw-log controls.
PASS: Phase 14 privacy controls prevent browser persistence, URL leakage, and unconsented analytics.
DURATION_SECONDS=1.37
MAX_RSS_KB=140148
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/02-phase14-manifest-baseline.log
================================================================================
PASS: Phase 14 package manifest verifies 466 repository files with no extras.
DURATION_SECONDS=0.22
MAX_RSS_KB=128988
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/02-phase14-manifest.log
================================================================================
ERROR: docs/quality/PHASE_15_TOOLCHAIN_SETUP.log: unlisted repository file.
ERROR: docs/quality/phase15-command-logs/01-validate.json: unlisted repository file.
ERROR: docs/quality/phase15-command-logs/01-validate.log: unlisted repository file.
ERROR: docs/quality/phase15-command-logs/02-phase14-manifest.log: unlisted repository file.
Command exited with non-zero status 1
DURATION_SECONDS=0.24
MAX_RSS_KB=135248
EXIT_CODE=1
================================================================================
FILE: docs/quality/phase15-command-logs/03-syntax-check.log
================================================================================
COMMAND: node --check all JavaScript modules and node --experimental-strip-types --check all non-JSX TypeScript
NODE: v22.16.0
PASS: checked 33 JavaScript modules, 69 TypeScript modules, and the Phase 15 Python audit script.
================================================================================
FILE: docs/quality/phase15-command-logs/04-baseline-static-audit.log
================================================================================
$ python3 scripts/phase15-static-audit.py --root /mnt/data/phase14_baseline
{"files": 467, "finding_counts": {"High": 4, "Medium": 7}, "passed": false}
Command exited with non-zero status 1
elapsed_seconds=1.37 exit_code=1
================================================================================
FILE: docs/quality/phase15-command-logs/05-current-static-audit.log
================================================================================
{"files": 485, "finding_counts": {}, "passed": true}
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/06-current-validations.exit
================================================================================
0
================================================================================
FILE: docs/quality/phase15-command-logs/06-current-validations.log
================================================================================
PASS: Phase 9 contract package is immutable and 61 payload checksums match.
PASS: Pinned Node 24.17.0, pnpm 11.9.0, and 25 exact direct dependency versions match the lockfile.
PASS: English, French, and Arabic catalogs have exact key parity and valid direction metadata.
PASS: 5 route IDs have complete locale, runtime, hash, query, and hreflang contracts.
PASS: Phase 9 semantic tokens are unchanged and application styles contain no raw palette colors.
PASS: Phase 11 component tokens, theme fallback, and application-shell foundations are present.
PASS: 47 CSS files use direction-safe logical declarations.
PASS: Runtime source contains no placeholder destination, simulated submission, or research-only backdoor.
PASS: Localized canonical, hreflang, Open Graph, social, and robots foundations are present.
PASS: 60 inventory entries and 96 component source files satisfy Phase 12 static controls.
PASS: Phase 13 homepage composition, content model, destination gates, and test artifacts satisfy static controls.
PASS: Phase 14 integration structure, form contract, destinations, and locale resources are present.
PASS: Phase 14 environment inventory is explicit and defaults production integrations to blocked.
PASS: Phase 14 API boundary includes origin, content-type, size, timeout, idempotency, and no-raw-log controls.
PASS: Phase 14 privacy controls prevent browser persistence, URL leakage, and unconsented analytics.
PASS: Phase 15 evidence CSVs, exact media-type control, deterministic visual setup, and CI test gates are present.
DURATION_SECONDS=1.78
MAX_RSS_KB=139192
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/07-current-static-audit.exit
================================================================================
0
================================================================================
FILE: docs/quality/phase15-command-logs/07-current-static-audit.log
================================================================================
{"files": 488, "finding_counts": {}, "passed": true}
DURATION_SECONDS=1.79
MAX_RSS_KB=308700
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/08-content-type-behavior.exit
================================================================================
0
================================================================================
FILE: docs/quality/phase15-command-logs/08-content-type-behavior.log
================================================================================
PASS: exact application/json media-type validation; 8 assertions.
(node:13288) ExperimentalWarning: Type Stripping is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:13288) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///mnt/data/phase15_work/src/lib/security/content-type.ts is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /mnt/data/phase15_work/package.json.
DURATION_SECONDS=1.37
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/09-syntax-check.exit
================================================================================
0
================================================================================
FILE: docs/quality/phase15-command-logs/09-syntax-check.log
================================================================================
PASS: checked 33 JavaScript modules, 64 TypeScript modules, and 2 Python scripts.
DURATION_SECONDS=6.76
EXIT_CODE=0
================================================================================
FILE: docs/quality/phase15-command-logs/10-final-validations.log
================================================================================
$ node scripts/run-validations.mjs
PASS: Phase 9 contract package is immutable and 61 payload checksums match.
PASS: Pinned Node 24.17.0, pnpm 11.9.0, and 25 exact direct dependency versions match the lockfile.
PASS: English, French, and Arabic catalogs have exact key parity and valid direction metadata.
PASS: 5 route IDs have complete locale, runtime, hash, query, and hreflang contracts.
PASS: Phase 9 semantic tokens are unchanged and application styles contain no raw palette colors.
PASS: Phase 11 component tokens, theme fallback, and application-shell foundations are present.
PASS: 47 CSS files use direction-safe logical declarations.
PASS: Runtime source contains no placeholder destination, simulated submission, or research-only backdoor.
PASS: Localized canonical, hreflang, Open Graph, social, and robots foundations are present.
PASS: 60 inventory entries and 96 component source files satisfy Phase 12 static controls.
PASS: Phase 13 homepage composition, content model, destination gates, and test artifacts satisfy static controls.
PASS: Phase 14 integration structure, form contract, destinations, and locale resources are present.
PASS: Phase 14 environment inventory is explicit and defaults production integrations to blocked.
PASS: Phase 14 API boundary includes origin, content-type, size, timeout, idempotency, and no-raw-log controls.
PASS: Phase 14 privacy controls prevent browser persistence, URL leakage, and unconsented analytics.
PASS: Phase 15 evidence CSVs, exact media-type control, deterministic visual setup, and CI test gates are present.
elapsed_seconds=1.52 exit_code=0
================================================================================
FILE: docs/quality/phase15-command-logs/11-final-static-audit-pre-report.log
================================================================================
$ python3 scripts/phase15-static-audit.py
{"files": 544, "finding_counts": {}, "passed": true}
elapsed_seconds=1.46 exit_code=0
================================================================================
FILE: docs/quality/phase15-command-logs/13-final-static-audit.log
================================================================================
$ python3 scripts/phase15-static-audit.py
{"files": 544, "finding_counts": {}, "passed": true}
elapsed_seconds=1.38 exit_code=0
+114
View File
@@ -0,0 +1,114 @@
Phase 15 File Changes
Date: 2026-06-25
Baseline: supplied Phase 14 repository ZIP after manifest verification
Current: final Phase 15 release-readiness tree before package-manifest generation
Baseline files: 467
Current files: 547
Added: 80
Changed: 11
Removed: 0
Unchanged: 456
ADDED
+ docs/DECISION_LOG_v15.0.md | bytes=2592 | sha256=c59ef94dbf9cee22b762acdb7fbe13ea77b14eba2bb12a15196a50a7d4e38f41
+ docs/IMPLEMENTATION_ISSUE_REGISTER_v1.5.csv | bytes=15395 | sha256=818eda19723bd1aafe4359831d3f9547e4c6fd545d6ae08313c0a6e5e413dc3f
+ docs/PHASE_15_IMPLEMENTATION_REPORT_v1.0.md | bytes=6822 | sha256=b9fa26b635b70eba3e414f553f9def60916535bcc4f2eb9da482231aef28c1d5
+ docs/PHASE_16_HANDOFF_v1.0.md | bytes=4583 | sha256=de5d8f974eecf517f61a6b7f7c3f394518efa26cd41771cb57305365e20fa83e
+ docs/phase15/ABUSE_CONTROL_REPORT_v1.0.md | bytes=718 | sha256=d56f05fba3ce6670b2fc833f0da3eb6cf7643bb82b61b2fa68f057f211a1ed0e
+ docs/phase15/ANALYTICS_VALIDATION_REPORT_v1.0.md | bytes=725 | sha256=2e24b9e1dc7ebcc424bff217d308d73f169ceb2fee8a54ecefdb2ab9d94f9bfe
+ docs/phase15/AUTOMATED_ACCESSIBILITY_REPORT_v1.0.md | bytes=545 | sha256=1647ac95ffc1c8ec3df901dafaf7954166b9bad7fb0c147eb3acfe9020befec2
+ docs/phase15/BROWSER_HISTORY_REPORT_v1.0.md | bytes=684 | sha256=b33b65266826d986bf90164e3ab01bb80c61049c7679b189968d201e06c0511f
+ docs/phase15/BUNDLE_ANALYSIS_REPORT_v1.0.md | bytes=698 | sha256=245d4a1f9fd5d91eb1b2941676c9eef390426f27aade7b24e2366951f03e079e
+ docs/phase15/CLEAN_ROOM_BASELINE_REPORT_v1.0.md | bytes=939 | sha256=61423268ab8f5a75decb112f0cb4a62b7b3b3954bf6a7ca11cf688c569910e4d
+ docs/phase15/COMMAND_MATRIX_v1.0.csv | bytes=6523 | sha256=eaeaaca0e3b7b74a4768ca6303486eae273e6bad575f5c3b41b61bb8c63e4700
+ docs/phase15/CONSENT_VALIDATION_REPORT_v1.0.md | bytes=774 | sha256=f1a9eb92eb164532f82000a4655a7310fa9103f9140529cc5f7eb12b74a5c795
+ docs/phase15/CONTENT_EVIDENCE_REVIEW_v1.0.md | bytes=794 | sha256=e7f1c8350fc3cedec81e089a2b076fab4de740d2bb003171f42ad35d343e04f5
+ docs/phase15/CROSS_BROWSER_TEST_REPORT_v1.0.md | bytes=646 | sha256=ed06fa73e138f99131882ffbce8340c6b61d727396a38ed37eb40e70526dd539
+ docs/phase15/DEFECT_REGISTER_v1.0.csv | bytes=3919 | sha256=8906ccb503e5ea62b8d7fa74f60e188d7ffedf61dc866462895d0616cea8f212
+ docs/phase15/DEPLOYMENT_REHEARSAL_REPORT_v1.0.md | bytes=646 | sha256=3d4c41f057091efb3034ca56fe9f1e3625777e86d7c4168c627c02180dcb9202
+ docs/phase15/DESIGN_FIDELITY_REPORT_v1.0.md | bytes=631 | sha256=32e63d3665f3fda5095424402e88a98f30816b0c4e82a6ee297150dee6a5be4e
+ docs/phase15/DESTINATION_BROKEN_LINK_REPORT_v1.0.md | bytes=781 | sha256=ce69dd34db9e9587495b1f82c68173506ddde20410a70458b37f561590fd1289
+ docs/phase15/DEVICE_VIEWPORT_REPORT_v1.0.md | bytes=630 | sha256=e6e9287808a3279b45782c69f9cf6de5229f80ece51b0ca5fadf7ac800183789
+ docs/phase15/END_TO_END_TEST_REPORT_v1.0.md | bytes=692 | sha256=d58adbb88000647a6b8a921e1f1902c17c0cda892cbe137d9b5964b68f22d13d
+ docs/phase15/FAILURE_SIMULATION_REPORT_v1.0.md | bytes=635 | sha256=f2e5cea8b80ad0369c07d31b795885ffa885e6e9360881c1f7ceac758ea093ed
+ docs/phase15/FINAL_RELEASE_RECOMMENDATION_v1.0.md | bytes=2743 | sha256=08209591849ce8663423e3eb5eef1c5309e80c087c7b8a7dfc8d68bd71a8839b
+ docs/phase15/IDEMPOTENCY_DUPLICATE_REPORT_v1.0.md | bytes=744 | sha256=ed5478b42914d736866b4e4916337f698a5fb309455868f1f958d01d0f5415fc
+ docs/phase15/IMAGE_FONT_PERFORMANCE_REPORT_v1.0.md | bytes=770 | sha256=b28fb2b989f8a3457ae5c48433fbb3f27337d24fea00db8be451b52f461f1e45
+ docs/phase15/INTEGRATION_TEST_REPORT_v1.0.md | bytes=858 | sha256=c51b4629b42f4175840f822717153fff72f311b53c638de3227761afb51e8bbb
+ docs/phase15/KEYBOARD_ACCESSIBILITY_REPORT_v1.0.md | bytes=602 | sha256=fd7dcca8715f727326e5a7fdd49532f95c58ef092a2374def637717ee6755504
+ docs/phase15/LOCALIZATION_QA_REPORT_v1.0.md | bytes=712 | sha256=93f20fe6b0f5a064c5a3a0f9f7b2e8483f30feafb06bdf789a0e0b73c3761deb
+ docs/phase15/MANUAL_TEST_MATRIX_v1.0.csv | bytes=1196 | sha256=d953be08010beb84b68e701b534a7c91cbe550cb73c29cc5aeb86ac9c523ca4b
+ docs/phase15/OBSERVABILITY_VALIDATION_REPORT_v1.0.md | bytes=610 | sha256=5c42216a452694bfc6b1ef015a6fc4ff6ea9da261810f64212e676dd40a60c50
+ docs/phase15/PERFORMANCE_REPORT_v1.0.md | bytes=753 | sha256=aa6d44c92788e5f81910ad04609e81bec6d3afa2ef689eb335b30fa25d94bde4
+ docs/phase15/PRIVACY_VALIDATION_REPORT_v1.0.md | bytes=789 | sha256=8e04998010b052f041f88639fc695df4f3f31576feb248bbbe0604e066fb25bc
+ docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv | bytes=3258 | sha256=9d7254919043b08c3e3e60574bc8825817d4e6ec08f48a97e8194fa020b5571e
+ docs/phase15/REPOSITORY_INTEGRITY_AUDIT_v1.0.md | bytes=850 | sha256=f88c5d2aac92dc1d1c569d5f69b1fbab4e9d170ff1fbdacdd9ad29dda0b6deb5
+ docs/phase15/RETEST_REPORT_v1.0.md | bytes=738 | sha256=dff702ec540e9046da64800f168ca818b2de2c638a85c684c42dc2097cf8193a
+ docs/phase15/RISK_ACCEPTANCE_REGISTER_v1.0.csv | bytes=98 | sha256=51359ece589175db561b8e857c14ed1ee36594d2921b7f1e37d7981d5d544d8d
+ docs/phase15/RISK_ACCEPTANCE_SUMMARY_v1.0.md | bytes=149 | sha256=fa52be6a049910986cc528696d96067ac2784c7641dd19c1665c67cd431f6439
+ docs/phase15/ROLLBACK_REHEARSAL_REPORT_v1.0.md | bytes=601 | sha256=3af1fbd033a14f2a2a36d9eb334fd447396c631f8cf92de69a12944ee464e2dd
+ docs/phase15/RTL_QA_REPORT_v1.0.md | bytes=736 | sha256=26b4a61e973451e319dd50658bd1a7234f264b3abd701a2107ede1a64a425a09
+ docs/phase15/SCREEN_READER_REPORT_v1.0.md | bytes=658 | sha256=59e983f4e89a449bf982a53753f59d77f941800ca4a4303c6ae111ed0f0f80c1
+ docs/phase15/SECURITY_VALIDATION_REPORT_v1.0.md | bytes=943 | sha256=3653103c7eb52420143056f8ba40c86023fd742b39a52177c9cbc0ce414a3309
+ docs/phase15/SEO_METADATA_REVIEW_v1.0.md | bytes=675 | sha256=e7a475200c09a016e6500c7417a0fb9d713899aace20b2814e0e134f2d76dd0a
+ docs/phase15/STATIC_ANALYSIS_REPORT_v1.0.md | bytes=961 | sha256=13a392beacefd2fe814e3eb91504d2d27b19c029ff48169cd43f5f0d8ab2c385
+ docs/phase15/THEME_QA_REPORT_v1.0.md | bytes=662 | sha256=031e26a400ae401cf92956913e5a5125d2e3db35532d8c03eff1ae480941b292
+ docs/phase15/UNIT_TEST_REPORT_v1.0.md | bytes=781 | sha256=080982bbf26c06c7bee39bcbac2bd7abee7f543e3d4a7441b29cf3a5cdf033e1
+ docs/phase15/VISUAL_REGRESSION_REPORT_v1.0.md | bytes=674 | sha256=fe2d467b20c387f879023db4e806a1a31072bca546741b7a3e540011e04a7086
+ docs/phase15/WCAG_2_2_AA_EVIDENCE_MATRIX_v1.0.csv | bytes=5049 | sha256=26b7a86b005dc3014da833a27eec5b0bda0135cd5c4942a55714162ff4c7569f
+ docs/phase15/ZOOM_REFLOW_REPORT_v1.0.md | bytes=652 | sha256=2e4d188a04af2d50d8804bcb6b702691e9e06b6de98607d3a455fd480b19a7de
+ docs/quality/PHASE_15_BASELINE_STATIC_AUDIT_RESULTS_v1.0.json | bytes=5595 | sha256=4cf636fd2a163700b666f0a04946b453dd22c4a4b43bc03bb420c3760a37353d
+ docs/quality/PHASE_15_BASELINE_STATIC_AUDIT_RESULTS_v1.0.md | bytes=4606 | sha256=0f3fb7ce9257fadfb7819143ad6a840ab1b6a5a848d0a8e3b19972e430cb0bab
+ docs/quality/PHASE_15_COMMAND_LOG_v1.0.txt | bytes=11190 | sha256=b92aea4d16329cc54aab02e2dd035275425d3703a7e17703aa31f3224f78a484
+ docs/quality/PHASE_15_STATIC_AUDIT_RESULTS_v1.0.json | bytes=3211 | sha256=ef3216e76c58a1656f68cae7d6a792a0da6ea5e63465bf3879c610ab235b3158
+ docs/quality/PHASE_15_STATIC_AUDIT_RESULTS_v1.0.md | bytes=3065 | sha256=595afc2c185c9d091ca952325b37a268b357478a23467ea920e4945f86b6ab9a
+ docs/quality/PHASE_15_TOOLCHAIN_SETUP.log | bytes=1554 | sha256=313029491c83cc00c9abf5e8ab63db6bd350c9bb94d5e2b80415fd716091db64
+ docs/quality/PHASE_15_VALIDATION_RESULTS_v1.0.json | bytes=2479 | sha256=ae6fd775d5d6a67406b59296796ea3f904b79a78cc24a33f85cf2b4b87067008
+ docs/quality/PHASE_15_VALIDATION_RESULTS_v1.0.md | bytes=1515 | sha256=1c50f03fbeee648e398f51499b9348245cb2b85edfad9e21f5eb14415454d7c9
+ docs/quality/phase15-command-logs/01-validate.json | bytes=136 | sha256=690ec5e56e1c2d1260bbda500aae6935eec51c7e1c957ac8043d3b5eacf8fe45
+ docs/quality/phase15-command-logs/01-validate.log | bytes=1482 | sha256=a8702ea1ad801f38a464f52e1961f4d0301082499f928e38290e8c9a3ad0a38c
+ docs/quality/phase15-command-logs/02-phase14-manifest-baseline.log | bytes=131 | sha256=e1bc16ca75ee3f5fc063bee211ed1aebebff3365039c0c0558817467c4e4e13d
+ docs/quality/phase15-command-logs/02-phase14-manifest.log | bytes=428 | sha256=d304fc1d9d340a8af6588bc023099451663d47d300c4787aff5a30e693cd4ec4
+ docs/quality/phase15-command-logs/03-syntax-check.log | bytes=225 | sha256=99246276d42a08b275fc645efc9f84a762534bd51b3f88888676fcba28d54744
+ docs/quality/phase15-command-logs/04-baseline-static-audit.log | bytes=223 | sha256=09c63142e71f71f0f0f5c652902a32b0a1cbd1908e9eadf5830ff71659643905
+ docs/quality/phase15-command-logs/05-current-static-audit.log | bytes=66 | sha256=8785c8611db8a489da6792f6377236f4c9b9c1a0f5ac5636986e206c03b6f36c
+ docs/quality/phase15-command-logs/06-current-validations.exit | bytes=2 | sha256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa
+ docs/quality/phase15-command-logs/06-current-validations.log | bytes=1597 | sha256=2d44d3eea802e5b8f17b9c9eb01c1280276e7cb30a3617f9226bf552af18922e
+ docs/quality/phase15-command-logs/07-current-static-audit.exit | bytes=2 | sha256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa
+ docs/quality/phase15-command-logs/07-current-static-audit.log | bytes=106 | sha256=175b57f0a4b5dd6f7293d8534050b6cefbd98c899a2fb686b8d4d9f5c6917f0c
+ docs/quality/phase15-command-logs/08-content-type-behavior.exit | bytes=2 | sha256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa
+ docs/quality/phase15-command-logs/08-content-type-behavior.log | bytes=643 | sha256=2e1077c48d47f02ae73c2ee7b9006b1ef887faae6b6eb04be673d5f395825ab4
+ docs/quality/phase15-command-logs/09-syntax-check.exit | bytes=2 | sha256=9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa
+ docs/quality/phase15-command-logs/09-syntax-check.log | bytes=117 | sha256=0ef5177d69f49bdbf89a8b9a6bcef2110728108969453dcc36f27a0b1ce83161
+ docs/quality/phase15-command-logs/10-final-validations.log | bytes=1612 | sha256=a48348ed8aaa988ad1c267603e272725d5be2d057ed4915868c871a0678a1935
+ docs/quality/phase15-command-logs/11-final-static-audit-pre-report.log | bytes=128 | sha256=c806167d316db60d36fb6069f03ce47c623d43ce6710c77fb6b03ccc7144e1c5
+ docs/quality/phase15-command-logs/13-final-static-audit.log | bytes=128 | sha256=f0bdbb5e1d170a394eec143cb960a8ba62355edfcbe5fa5bc10cbe39565d876c
+ scripts/generate-phase15-manifest.mjs | bytes=1889 | sha256=483f9b1222368fe9bd255d5d4b07d1f8ea6898b575c0e07a13c5f693ef70f932
+ scripts/generate-phase15-reports.py | bytes=67112 | sha256=23bba1a926c5696ee9c02a3a6861f931426e452ea803d757f81d79c5dd83a1e8
+ scripts/phase15-static-audit.py | bytes=17442 | sha256=9a72263a697c17e157432dab091a2f30cc0fa2a6019cb5e521c9af57e949ac5a
+ scripts/validate-phase15-manifest.mjs | bytes=2673 | sha256=129ea44a368c82e130c803156cf8096342438545571accd1ed700cd768bdf5a4
+ scripts/validate-phase15-readiness.mjs | bytes=3472 | sha256=6764887cce0b291f6e210492a41ec515369d5146802e6fb0fdd5a6906d42e792
+ src/lib/security/content-type.ts | bytes=385 | sha256=8179360d02d132a2d386a89523a470455977544b2286628cff4c60e50d71105a
+ tests/unit/integrations/content-type.test.ts | bytes=570 | sha256=6c55b144602bae6ad9bfb9f09f2aa752dd46dc32e662aaa4642d045da22c7731
CHANGED
~ .dockerignore | before_bytes=97 | before_sha256=d78b037a836881c2d63f074d525b8027b2ecb06fefe3af4d5356327ec01dc5e1 | after_bytes=116 | after_sha256=f5c4f2a6bb5aee2eab9e3c5f838dba58c97bf62ef432bdc181778cf4a167e78c
~ .github/workflows/ci.yml | before_bytes=1739 | before_sha256=c3d1671011688d7ebc4be9f38265e82b290b1aefc9ddd237c1d82fafd3e765f4 | after_bytes=1967 | after_sha256=1f539bcae4f26429b959690339a57ad8abd200fed149a2ee786ed6b27f769bb3
~ .gitignore | before_bytes=135 | before_sha256=01c7cded7467134f023106b85684e3ce5df721149fc3ff4af5e02ef79541bb14 | after_bytes=155 | after_sha256=7a502eb52bc55e5be5e971624211c692f279d7c8d85e1b89a5abc3e2e5c7c9d5
~ README.md | before_bytes=4499 | before_sha256=af6addc1b409a534512759c6495a1112ac0895c0d1b5589025fa6355ce2b1c10 | after_bytes=5544 | after_sha256=6c65fce47358960186dc639f267b3d18c97d9eb56325772c5318a088fafa5915
~ docs/IMPLEMENTATION_ISSUE_REGISTER_v1.4.csv | before_bytes=13058 | before_sha256=cd2fb58000d337c6abf5ae767a848472e71488a7cd2abda1e0a89d50bdce7a35 | after_bytes=13060 | after_sha256=fea9c6bbe4db7a72b5f58a9dcffd215514915e3eae79941b104e195b1ec42bd2
~ docs/quality/PHASE_14_MANUAL_QA_RESULTS_v1.0.csv | before_bytes=2082 | before_sha256=3c65888853cd8e1c1b04cffb9cf851916a6db7fd29e93af7b2cc5d90faf084cc | after_bytes=2086 | after_sha256=e7a3c123fa363bc18d6f4f150e34a4ec0f47836f0cdc60e4a6ac4d02a6961a6f
~ package.json | before_bytes=3716 | before_sha256=a00be27528360c8e7efb11c4084b14a00aac7c5414552a4fc97beb40f7a96a9a | after_bytes=3975 | after_sha256=e894298ee2078480a3a14e5582f5972cb64a2890ca0022f8085ce634351ec4e2
~ scripts/run-validations.mjs | before_bytes=754 | before_sha256=a36eff2467b22be74c46579f4193d40b779474cd90f401ebc8fc93ab843ec540 | after_bytes=790 | after_sha256=5a443dbb37ebeffacd32c214b94ac6d2c316fc6bf16e19c0719b608345a8aa6a
~ src/app/api/demo/route.ts | before_bytes=4458 | before_sha256=08f6b254967a69f551988a3d6ced3ee388b53746d26100c5c53094422a6910fd | after_bytes=4491 | after_sha256=5f9f17acf083d42e6c74af48a75c82a253abaee97788bfa07c6d0e480caeaf70
~ tests/visual/component-system.visual.spec.ts | before_bytes=799 | before_sha256=60a3ca791efaacf0ca1b38209edfdfe95105740e25228f781ddf771134b82e18 | after_bytes=899 | after_sha256=983ee872b9b7a1993ccaafb8c3ea2ee4fb82cf562a5f9e1521de29faa307c8e7
~ tests/visual/integrations.visual.spec.ts | before_bytes=884 | before_sha256=0928c78c3c3fee8053861d5db88c1f946a80c22a6649f61869bdcfadc2bc7ea9 | after_bytes=984 | after_sha256=71896bfb083931ab8bf434dd85911cc50c82e854744b871ff31c1f3f4ad650a5
REMOVED
(none)
Notes
- Immutable Phase 9 contracts were not modified.
- Generated caches and dependency/build outputs are excluded.
- This inventory, the Phase 15 package manifest, and its self-validation log are excluded to avoid self-referential hashes.
@@ -0,0 +1,126 @@
{
"audit": "Phase 15 dependency-free static repository audit",
"finding_counts": {},
"findings": [],
"metrics": {
"csv_files_parsed": 51,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 546,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.5.csv",
"issue_register_rows": 47,
"json_files_parsed": 44,
"release_gate_path": "docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 16,
"Open": 1,
"Passed": 3
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 435,
"suffix_counts": {
".css": 48,
".csv": 51,
".duration": 8,
".example": 1,
".exit": 24,
".js": 1,
".json": 44,
".log": 60,
".md": 98,
".mjs": 36,
".png": 6,
".py": 2,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2490086,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
},
"passed": true,
"root": "/mnt/data/phase15_work",
"schema_version": "1.0"
}
@@ -0,0 +1,135 @@
# Phase 15 Static Repository Audit
- Result: **PASS**
- Files inspected: 546
- JSON files parsed: 44
- CSV files parsed: 51
- Secret-scan files: 435
- Findings: {}
## Findings
No Critical, High, Medium, Low, or informational findings were produced by this audit.
## Metrics
```json
{
"csv_files_parsed": 51,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 546,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.5.csv",
"issue_register_rows": 47,
"json_files_parsed": 44,
"release_gate_path": "docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 16,
"Open": 1,
"Passed": 3
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 435,
"suffix_counts": {
".css": 48,
".csv": 51,
".duration": 8,
".example": 1,
".exit": 24,
".js": 1,
".json": 44,
".log": 60,
".md": 98,
".mjs": 36,
".png": 6,
".py": 2,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2490086,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
}
```
@@ -0,0 +1,97 @@
{
"schema_version": "1.0",
"project": "RentalDriveGo",
"phase": 15,
"date": "2026-06-25",
"release_recommendation": "Not ready for Phase 16",
"environment": {
"os": "Debian GNU/Linux 13",
"node": "v22.16.0",
"npm": "10.9.2",
"corepack": "0.32.0",
"python": "3.13.5",
"required_node": "24.17.0",
"required_pnpm": "11.9.0"
},
"clean_install": {
"status": "blocked",
"reason": "Pinned pnpm unavailable and registry DNS unavailable; no lockfile update attempted."
},
"baseline_static_audit": {
"passed": false,
"file_count": 467,
"finding_counts": {
"High": 4,
"Medium": 7
}
},
"current_static_audit": {
"passed": true,
"file_count": 546,
"finding_counts": {}
},
"dependency_free_validation": {
"validators": 16,
"passed": 16,
"failed": 0
},
"targeted_content_type_assertions": {
"assertions": 8,
"passed": 8,
"failed": 0,
"warnings": 2
},
"syntax_validation": {
"javascript_modules": 33,
"typescript_modules": 64,
"python_scripts": 2,
"passed": 99,
"failed": 0
},
"fixed_defects": {
"Critical": 0,
"High": 2,
"Medium": 2,
"Low": 0
},
"unresolved_cumulative_issue_register": {
"Critical": 1,
"High": 21,
"Medium": 17,
"Low": 2
},
"accepted_exceptions": 0,
"command_status_counts": {
"Passed": 5,
"Blocked": 1,
"Not executed - prerequisite blocked": 1,
"Failed as expected - baseline findings": 1,
"Passed with runtime warnings": 1,
"Not executed - clean install blocked": 17
},
"blocked_major_gates": [
"clean install",
"formatting",
"lint",
"strict typecheck",
"current unit tests",
"current integration tests",
"browser/end-to-end tests",
"automated accessibility",
"manual keyboard and screen-reader tests",
"visual regression",
"performance and bundle analysis",
"dependency audit",
"production build",
"deployment rehearsal",
"rollback rehearsal"
],
"evidence": {
"implementation_report": "docs/PHASE_15_IMPLEMENTATION_REPORT_v1.0.md",
"command_matrix": "docs/phase15/COMMAND_MATRIX_v1.0.csv",
"defect_register": "docs/phase15/DEFECT_REGISTER_v1.0.csv",
"release_gate_matrix": "docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv",
"final_recommendation": "docs/phase15/FINAL_RELEASE_RECOMMENDATION_v1.0.md",
"phase16_handoff": "docs/PHASE_16_HANDOFF_v1.0.md"
}
}
@@ -0,0 +1,29 @@
# Phase 15 Validation Results
**Date:** 2026-06-25
**Recommendation:** **Not ready for Phase 16**
## Executed results
- Supplied Phase 14 package manifest: passed, 466 files verified.
- Dependency-free repository validators: 16 passed, 0 failed.
- Baseline static audit: 4 High and 7 Medium findings.
- Current static audit: passed with zero findings.
- Exact media-type behavior assertions: 8 passed, 0 failed, 2 Node experimental-runtime warnings.
- Defects fixed in Phase 15: 2 High and 2 Medium.
- Accepted exceptions: 0.
## Blocked results
The exact frozen dependency installation could not run because Node 24.17.0 and pnpm 11.9.0 were unavailable and registry DNS could not activate the pinned package manager. Formatting, linting, strict type checking, current unit and integration tests, browser/end-to-end execution, automated and manual accessibility, visual regression, performance, dependency audit, production build, deployment rehearsal, and rollback rehearsal remain unexecuted for this release candidate.
Historical Phase 14 results are retained for traceability but are not reported as current Phase 15 passes. The cumulative unresolved issue register contains 1 Critical, 21 High, 17 Medium, and 2 Low items.
## Evidence
- `docs/PHASE_15_IMPLEMENTATION_REPORT_v1.0.md`
- `docs/phase15/COMMAND_MATRIX_v1.0.csv`
- `docs/phase15/DEFECT_REGISTER_v1.0.csv`
- `docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv`
- `docs/phase15/FINAL_RELEASE_RECOMMENDATION_v1.0.md`
- `docs/PHASE_16_HANDOFF_v1.0.md`
@@ -0,0 +1,565 @@
{
"audit": "Phase 16 dependency-free static repository audit",
"finding_counts": {},
"findings": [],
"metrics": {
"csv_files_parsed": 81,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
},
{
"address": "avery@example.test",
"line": 11,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 16,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 21,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 26,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 31,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 36,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 41,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 46,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 51,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 56,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 61,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 23,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 28,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 33,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 38,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 43,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 48,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 53,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 58,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 63,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 68,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 73,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 11,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 16,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 21,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 26,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 31,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 36,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 41,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 46,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 51,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 56,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 61,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 66,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 71,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 76,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 81,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 86,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 91,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 96,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 101,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 106,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 111,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 116,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 121,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 126,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 131,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 136,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 141,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 146,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 151,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 156,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 161,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 166,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 171,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 23,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 28,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 33,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 38,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 43,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 48,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 53,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 58,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 63,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 68,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 73,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 78,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 83,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 88,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 93,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 98,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 103,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 108,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 113,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 118,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 123,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 128,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 133,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 138,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 143,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 148,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 153,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 158,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 163,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 168,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 173,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 178,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 183,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
}
],
"file_count": 644,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.6.csv",
"issue_register_rows": 47,
"json_files_parsed": 47,
"release_gate_path": "docs/phase16/FINAL_RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Approved": 3,
"Blocked pending evidence": 29
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 508,
"suffix_counts": {
".css": 48,
".csv": 81,
".duration": 8,
".example": 1,
".exit": 26,
".js": 1,
".json": 47,
".log": 82,
".md": 135,
".mjs": 39,
".png": 6,
".py": 3,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2655392,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
},
"passed": true,
"root": "/mnt/data/phase16_work/RentalDriveGo_Phase16_Repository_v1.0",
"schema_version": "1.0"
}
@@ -0,0 +1,574 @@
# Phase 16 Static Repository Audit
- Result: **PASS**
- Files inspected: 644
- JSON files parsed: 47
- CSV files parsed: 81
- Secret-scan files: 508
- Findings: {}
## Findings
No Critical, High, Medium, Low, or informational findings were produced by this audit.
## Metrics
```json
{
"csv_files_parsed": 81,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
},
{
"address": "avery@example.test",
"line": 11,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 16,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 21,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 26,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 31,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 36,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 41,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 46,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 51,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 56,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 61,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 23,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 28,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 33,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 38,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 43,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 48,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 53,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 58,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 63,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 68,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 73,
"path": "docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 11,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 16,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 21,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 26,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 31,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 36,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 41,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 46,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 51,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 56,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 61,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 66,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 71,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 76,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 81,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 86,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 91,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 96,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 101,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 106,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 111,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 116,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 121,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 126,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "ada@example.test",
"line": 131,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 136,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "person@example.test",
"line": 141,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 146,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 151,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "private@example.test",
"line": 156,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 161,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "nom@fictif.invalid",
"line": 166,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "name@fictional.invalid",
"line": 171,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.json"
},
{
"address": "avery@example.test",
"line": 23,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 28,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 33,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 38,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 43,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 48,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 53,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 58,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 63,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 68,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 73,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 78,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 83,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 88,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 93,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 98,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 103,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 108,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 113,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 118,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 123,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 128,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 133,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 138,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "ada@example.test",
"line": 143,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 148,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "person@example.test",
"line": 153,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 158,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "avery@example.test",
"line": 163,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "private@example.test",
"line": 168,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 173,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "nom@fictif.invalid",
"line": 178,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
},
{
"address": "name@fictional.invalid",
"line": 183,
"path": "docs/quality/PHASE_16_FINAL_STATIC_AUDIT_RESULTS_v1.0.md"
}
],
"file_count": 644,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.6.csv",
"issue_register_rows": 47,
"json_files_parsed": 47,
"release_gate_path": "docs/phase16/FINAL_RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Approved": 3,
"Blocked pending evidence": 29
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 508,
"suffix_counts": {
".css": 48,
".csv": 81,
".duration": 8,
".example": 1,
".exit": 26,
".js": 1,
".json": 47,
".log": 82,
".md": 135,
".mjs": 39,
".png": 6,
".py": 3,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2655392,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
}
```
@@ -0,0 +1,182 @@
[
{
"name": "01-phase15-manifest",
"command": "node scripts/validate-phase15-manifest.mjs",
"start_epoch": 1782431606.8168576,
"end_epoch": 1782431607.0603523,
"duration_seconds": 0.243,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/01-phase15-manifest.log"
},
{
"name": "02-validations",
"command": "node scripts/run-validations.mjs",
"start_epoch": 1782431607.0615966,
"end_epoch": 1782431608.6426542,
"duration_seconds": 1.581,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/02-validations.log"
},
{
"name": "03-phase15-readiness",
"command": "node scripts/validate-phase15-readiness.mjs",
"start_epoch": 1782431608.6430712,
"end_epoch": 1782431608.7261708,
"duration_seconds": 0.083,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/03-phase15-readiness.log"
},
{
"name": "04-static-audit",
"command": "python3 scripts/phase15-static-audit.py --json-output docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.json --markdown-output docs/quality/PHASE_16_STATIC_AUDIT_RESULTS_v1.0.md",
"start_epoch": 1782431608.7265477,
"end_epoch": 1782431610.251834,
"duration_seconds": 1.525,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/04-static-audit.log"
},
{
"name": "05-phase14-integrations",
"command": "node scripts/validate-phase14-integrations.mjs",
"start_epoch": 1782431610.2522087,
"end_epoch": 1782431610.330689,
"duration_seconds": 0.078,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/05-phase14-integrations.log"
},
{
"name": "06-phase14-environment",
"command": "node scripts/validate-phase14-environment.mjs",
"start_epoch": 1782431610.330972,
"end_epoch": 1782431610.400568,
"duration_seconds": 0.07,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/06-phase14-environment.log"
},
{
"name": "07-phase14-security",
"command": "node scripts/validate-phase14-security.mjs",
"start_epoch": 1782431610.4008532,
"end_epoch": 1782431610.4712098,
"duration_seconds": 0.07,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/07-phase14-security.log"
},
{
"name": "08-phase14-privacy",
"command": "node scripts/validate-phase14-privacy.mjs",
"start_epoch": 1782431610.4714422,
"end_epoch": 1782431610.5439904,
"duration_seconds": 0.073,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/08-phase14-privacy.log"
},
{
"name": "09-syntax-check",
"command": "find scripts -name '*.mjs' -print0 | xargs -0 -n1 node --check",
"start_epoch": 1782431610.5443811,
"end_epoch": 1782431612.3465776,
"duration_seconds": 1.802,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/09-syntax-check.log"
},
{
"name": "13-contract-validation",
"command": "node scripts/validate-phase9-contract.mjs",
"start_epoch": 1782431674.6306887,
"end_epoch": 1782431674.8194394,
"duration_seconds": 0.189,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/13-contract-validation.log"
},
{
"name": "14-token-validation",
"command": "node scripts/validate-tokens.mjs",
"start_epoch": 1782431674.8199482,
"end_epoch": 1782431674.932933,
"duration_seconds": 0.113,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/14-token-validation.log"
},
{
"name": "15-locale-validation",
"command": "node scripts/validate-locales.mjs",
"start_epoch": 1782431674.93337,
"end_epoch": 1782431675.0189438,
"duration_seconds": 0.086,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/15-locale-validation.log"
},
{
"name": "16-route-validation",
"command": "node scripts/validate-routes.mjs",
"start_epoch": 1782431675.019326,
"end_epoch": 1782431675.0961354,
"duration_seconds": 0.077,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/16-route-validation.log"
},
{
"name": "17-css-rtl-validation",
"command": "node scripts/validate-css-logical.mjs",
"start_epoch": 1782431675.096504,
"end_epoch": 1782431675.2137945,
"duration_seconds": 0.117,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/17-css-rtl-validation.log"
},
{
"name": "18-content-claims-validation",
"command": "node scripts/validate-prohibited-content.mjs",
"start_epoch": 1782431675.2142003,
"end_epoch": 1782431675.3477397,
"duration_seconds": 0.134,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/18-content-claims-validation.log"
},
{
"name": "19-metadata-validation",
"command": "node scripts/validate-metadata.mjs",
"start_epoch": 1782431675.3480766,
"end_epoch": 1782431675.424533,
"duration_seconds": 0.076,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/19-metadata-validation.log"
},
{
"name": "20-component-validation",
"command": "node scripts/validate-phase12-components.mjs",
"start_epoch": 1782431675.4248092,
"end_epoch": 1782431675.5411427,
"duration_seconds": 0.116,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/20-component-validation.log"
},
{
"name": "21-homepage-validation",
"command": "node scripts/validate-phase13-homepage.mjs",
"start_epoch": 1782431675.5414987,
"end_epoch": 1782431675.622236,
"duration_seconds": 0.081,
"exit_code": 0,
"result": "Passed",
"log": "docs/quality/phase16-command-logs/21-homepage-validation.log"
}
]
@@ -0,0 +1,126 @@
{
"audit": "Phase 15 dependency-free static repository audit",
"finding_counts": {},
"findings": [],
"metrics": {
"csv_files_parsed": 51,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 549,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.5.csv",
"issue_register_rows": 47,
"json_files_parsed": 44,
"release_gate_path": "docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 16,
"Open": 1,
"Passed": 3
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 435,
"suffix_counts": {
".css": 48,
".csv": 51,
".duration": 8,
".example": 1,
".exit": 24,
".js": 1,
".json": 44,
".log": 63,
".md": 98,
".mjs": 36,
".png": 6,
".py": 2,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2491857,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
},
"passed": true,
"root": "/mnt/data/phase16_work/RentalDriveGo_Phase15_Repository_v1.0",
"schema_version": "1.0"
}
@@ -0,0 +1,135 @@
# Phase 15 Static Repository Audit
- Result: **PASS**
- Files inspected: 549
- JSON files parsed: 44
- CSV files parsed: 51
- Secret-scan files: 435
- Findings: {}
## Findings
No Critical, High, Medium, Low, or informational findings were produced by this audit.
## Metrics
```json
{
"csv_files_parsed": 51,
"direct_dependencies_exact": true,
"direct_dependency_count": 25,
"email_fixture_hits": [
{
"address": "avery@example.test",
"line": 21,
"path": "tests/integration/demo-service.test.ts"
},
{
"address": "ADA@EXAMPLE.TEST",
"line": 6,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "ada@example.test",
"line": 22,
"path": "tests/unit/integrations/demo-schema.test.ts"
},
{
"address": "person@example.test",
"line": 20,
"path": "tests/unit/integrations/analytics.test.ts"
},
{
"address": "person@example.test",
"line": 9,
"path": "tests/unit/integrations/redaction.test.ts"
},
{
"address": "avery@example.test",
"line": 36,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "avery@example.test",
"line": 53,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "private@example.test",
"line": 66,
"path": "tests/browser/integrations/demo-workflow.spec.ts"
},
{
"address": "name@fictional.invalid",
"line": 47,
"path": "src/content/development/component-lab.ts"
},
{
"address": "nom@fictif.invalid",
"line": 158,
"path": "src/content/development/component-lab.ts"
},
{
"address": "name@fictional.invalid",
"line": 281,
"path": "src/content/development/component-lab.ts"
}
],
"file_count": 549,
"issue_register_path": "docs/IMPLEMENTATION_ISSUE_REGISTER_v1.5.csv",
"issue_register_rows": 47,
"json_files_parsed": 44,
"release_gate_path": "docs/phase15/RELEASE_GATE_MATRIX_v1.0.csv",
"release_gate_status_counts": {
"Blocked": 16,
"Open": 1,
"Passed": 3
},
"runtime_url_hits": [
{
"line": 2,
"path": ".env.example",
"url": "https://your-approved-domain.example"
},
{
"line": 6,
"path": "src/lib/localization/site-origin.ts",
"url": "http://localhost:3000"
},
{
"line": 2,
"path": "src/contracts/phase9/design-tokens.json",
"url": "https://design-tokens.github.io/community-group/format/"
}
],
"secret_scan_files": 435,
"suffix_counts": {
".css": 48,
".csv": 51,
".duration": 8,
".example": 1,
".exit": 24,
".js": 1,
".json": 44,
".log": 63,
".md": 98,
".mjs": 36,
".png": 6,
".py": 2,
".svg": 2,
".ts": 76,
".tsx": 66,
".txt": 10,
".yaml": 2,
".yml": 2,
"<none>": 9
},
"total_bytes": 2491857,
"unresolved_issue_counts": {
"Critical": 1,
"High": 21,
"Low": 2,
"Medium": 17
}
}
```
@@ -0,0 +1 @@
4
@@ -0,0 +1 @@
1
@@ -0,0 +1 @@
3
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
11
@@ -0,0 +1 @@
1
+1
View File
@@ -0,0 +1 @@
10
+1
View File
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
1
@@ -0,0 +1 @@
16
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
2
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
8
@@ -0,0 +1 @@
2
@@ -0,0 +1 @@
8
+1
View File
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
{"command":"node scripts/run-validations.mjs","exit_code":0,"wall_seconds":1,"log":"docs/quality/phase15-command-logs/01-validate.log"}
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
0
@@ -0,0 +1 @@
1
@@ -0,0 +1 @@
0