Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4b7cfc4ab5 | ||
|
|
a79c734fe9 | ||
|
|
8ac0b8a760 |
@@ -1,11 +1,11 @@
|
||||
# Graph Report - 2e709500-79ab-403f-9ca0-3f027ac9f36e (2026-06-17)
|
||||
|
||||
## Corpus Check
|
||||
- 58 files · ~328,509 words
|
||||
- 59 files · ~448,077 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## Summary
|
||||
- 536 nodes · 580 edges · 94 communities (87 shown, 7 thin omitted)
|
||||
- 539 nodes · 582 edges · 95 communities (87 shown, 8 thin omitted)
|
||||
- Extraction: 99% EXTRACTED · 1% INFERRED · 0% AMBIGUOUS · INFERRED: 4 edges (avg confidence: 0.8)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
- [[_COMMUNITY_Community 35|Community 35]]
|
||||
- [[_COMMUNITY_Community 36|Community 36]]
|
||||
- [[_COMMUNITY_Community 41|Community 41]]
|
||||
- [[_COMMUNITY_Community 42|Community 42]]
|
||||
|
||||
## God Nodes (most connected - your core abstractions)
|
||||
1. `Performance Testing Scripts` - 12 edges
|
||||
@@ -74,7 +75,7 @@
|
||||
- `POST()` --calls--> `logApiRequest()` [INFERRED]
|
||||
src/pages/api/newsletter.ts → src/utils/logger.ts
|
||||
|
||||
## Communities (94 total, 7 thin omitted)
|
||||
## Communities (95 total, 8 thin omitted)
|
||||
|
||||
### Community 0 - "Community 0"
|
||||
Cohesion: 0.05
|
||||
@@ -193,9 +194,9 @@ Cohesion: 0.6
|
||||
Nodes (3): formatUptime(), GET(), percentile()
|
||||
|
||||
## Knowledge Gaps
|
||||
- **120 isolated node(s):** `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit`, `Measure response time for a URL over multiple iterations`, `Print statistics for response times` (+115 more)
|
||||
- **121 isolated node(s):** `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit`, `Measure response time for a URL over multiple iterations`, `Print statistics for response times` (+116 more)
|
||||
These have ≤1 connection - possible missing edges or undocumented components.
|
||||
- **7 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
- **8 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
|
||||
|
||||
## Suggested Questions
|
||||
_Questions this graph is uniquely positioned to answer:_
|
||||
@@ -203,7 +204,7 @@ _Questions this graph is uniquely positioned to answer:_
|
||||
- **Are the 2 inferred relationships involving `captureException()` (e.g. with `sendContactEmail()` and `subscribeToNewsletter()`) actually correct?**
|
||||
_`captureException()` has 2 INFERRED edges - model-reasoned connections that need verification._
|
||||
- **What connects `Run Lighthouse audit on a URL`, `Extract key scores from Lighthouse data`, `Extract issues from Lighthouse audit` to the rest of the system?**
|
||||
_120 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
_121 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
- **Should `Community 0` be split into smaller, more focused modules?**
|
||||
_Cohesion score 0.05 - nodes in this community are weakly interconnected._
|
||||
- **Should `Community 1` be split into smaller, more focused modules?**
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "home_agent_ai_agent_backend_workspace_2e709500_79ab_403f_9ca0_3f027ac9f36e_test_results_theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_md", "label": "error-context.md", "file_type": "document", "source_file": "/home/agent/ai-agent/backend/workspace/2e709500-79ab-403f-9ca0-3f027ac9f36e/test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md", "source_location": "L1"}, {"id": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot", "label": "Page snapshot", "file_type": "document", "source_file": "/home/agent/ai-agent/backend/workspace/2e709500-79ab-403f-9ca0-3f027ac9f36e/test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md", "source_location": "L1"}, {"id": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_codeblock_1", "label": "code:yaml (- generic [active] [ref=e1]:)", "file_type": "document", "source_file": "/home/agent/ai-agent/backend/workspace/2e709500-79ab-403f-9ca0-3f027ac9f36e/test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md", "source_location": "L3"}], "edges": [{"source": "home_agent_ai_agent_backend_workspace_2e709500_79ab_403f_9ca0_3f027ac9f36e_test_results_theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_md", "target": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/workspace/2e709500-79ab-403f-9ca0-3f027ac9f36e/test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md", "source_location": "L1", "weight": 1.0}, {"source": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot", "target": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_codeblock_1", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/home/agent/ai-agent/backend/workspace/2e709500-79ab-403f-9ca0-3f027ac9f36e/test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md", "source_location": "L3", "weight": 1.0}], "input_tokens": 0, "output_tokens": 0}
|
||||
@@ -9,7 +9,7 @@
|
||||
"source_file": "astro.config.mjs",
|
||||
"source_location": "L1",
|
||||
"id": "astro_config_mjs",
|
||||
"community": 45,
|
||||
"community": 43,
|
||||
"norm_label": "astro.config.mjs"
|
||||
},
|
||||
{
|
||||
@@ -18,7 +18,7 @@
|
||||
"source_file": "playwright.config.ts",
|
||||
"source_location": "L1",
|
||||
"id": "playwright_config_ts",
|
||||
"community": 49,
|
||||
"community": 50,
|
||||
"norm_label": "playwright.config.ts"
|
||||
},
|
||||
{
|
||||
@@ -27,7 +27,7 @@
|
||||
"source_file": "tailwind.config.mjs",
|
||||
"source_location": "L1",
|
||||
"id": "tailwind_config_mjs",
|
||||
"community": 50,
|
||||
"community": 51,
|
||||
"norm_label": "tailwind.config.mjs"
|
||||
},
|
||||
{
|
||||
@@ -36,7 +36,7 @@
|
||||
"source_file": "server.mjs",
|
||||
"source_location": "L1",
|
||||
"id": "server_mjs",
|
||||
"community": 51,
|
||||
"community": 52,
|
||||
"norm_label": "server.mjs"
|
||||
},
|
||||
{
|
||||
@@ -45,7 +45,7 @@
|
||||
"source_file": "src/env.d.ts",
|
||||
"source_location": "L1",
|
||||
"id": "src_env_d_ts",
|
||||
"community": 52,
|
||||
"community": 53,
|
||||
"norm_label": "env.d.ts"
|
||||
},
|
||||
{
|
||||
@@ -72,7 +72,7 @@
|
||||
"source_file": "src/content/config.ts",
|
||||
"source_location": "L1",
|
||||
"id": "src_content_config_ts",
|
||||
"community": 53,
|
||||
"community": 54,
|
||||
"norm_label": "config.ts"
|
||||
},
|
||||
{
|
||||
@@ -81,7 +81,7 @@
|
||||
"source_file": "src/pages/sitemap.xml.ts",
|
||||
"source_location": "L1",
|
||||
"id": "src_pages_sitemap_xml_ts",
|
||||
"community": 42,
|
||||
"community": 44,
|
||||
"norm_label": "sitemap.xml.ts"
|
||||
},
|
||||
{
|
||||
@@ -90,7 +90,7 @@
|
||||
"source_file": "src/pages/sitemap.xml.ts",
|
||||
"source_location": "L13",
|
||||
"id": "pages_sitemap_xml_get",
|
||||
"community": 42,
|
||||
"community": 44,
|
||||
"norm_label": "get()"
|
||||
},
|
||||
{
|
||||
@@ -99,7 +99,7 @@
|
||||
"source_file": "src/pages/sitemap-index.xml.ts",
|
||||
"source_location": "L1",
|
||||
"id": "src_pages_sitemap_index_xml_ts",
|
||||
"community": 43,
|
||||
"community": 45,
|
||||
"norm_label": "sitemap-index.xml.ts"
|
||||
},
|
||||
{
|
||||
@@ -108,7 +108,7 @@
|
||||
"source_file": "src/pages/sitemap-index.xml.ts",
|
||||
"source_location": "L10",
|
||||
"id": "pages_sitemap_index_xml_get",
|
||||
"community": 43,
|
||||
"community": 45,
|
||||
"norm_label": "get()"
|
||||
},
|
||||
{
|
||||
@@ -252,7 +252,7 @@
|
||||
"source_file": "src/pages/api/health.json.ts",
|
||||
"source_location": "L1",
|
||||
"id": "src_pages_api_health_json_ts",
|
||||
"community": 44,
|
||||
"community": 46,
|
||||
"norm_label": "health.json.ts"
|
||||
},
|
||||
{
|
||||
@@ -261,7 +261,7 @@
|
||||
"source_file": "src/pages/api/health.json.ts",
|
||||
"source_location": "L5",
|
||||
"id": "api_health_json_get",
|
||||
"community": 44,
|
||||
"community": 46,
|
||||
"norm_label": "get()"
|
||||
},
|
||||
{
|
||||
@@ -1017,7 +1017,7 @@
|
||||
"source_file": "scripts/backup/windows-tasks.ps1",
|
||||
"source_location": "L1",
|
||||
"id": "scripts_backup_windows_tasks_ps1",
|
||||
"community": 54,
|
||||
"community": 55,
|
||||
"norm_label": "windows-tasks.ps1"
|
||||
},
|
||||
{
|
||||
@@ -1098,7 +1098,7 @@
|
||||
"source_file": "tests/e2e-blog-navigation.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_e2e_blog_navigation_spec_ts",
|
||||
"community": 55,
|
||||
"community": 56,
|
||||
"norm_label": "e2e-blog-navigation.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1161,7 +1161,7 @@
|
||||
"source_file": "tests/e2e-critical-paths.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_e2e_critical_paths_spec_ts",
|
||||
"community": 56,
|
||||
"community": 57,
|
||||
"norm_label": "e2e-critical-paths.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1170,7 +1170,7 @@
|
||||
"source_file": "tests/navigation.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_navigation_spec_ts",
|
||||
"community": 57,
|
||||
"community": 58,
|
||||
"norm_label": "navigation.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1179,7 +1179,7 @@
|
||||
"source_file": "tests/contact-form.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_contact_form_spec_ts",
|
||||
"community": 58,
|
||||
"community": 59,
|
||||
"norm_label": "contact-form.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1188,7 +1188,7 @@
|
||||
"source_file": "tests/e2e-form-interactions.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_e2e_form_interactions_spec_ts",
|
||||
"community": 59,
|
||||
"community": 60,
|
||||
"norm_label": "e2e-form-interactions.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1197,7 +1197,7 @@
|
||||
"source_file": "tests/destructive-chaos.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_destructive_chaos_spec_ts",
|
||||
"community": 60,
|
||||
"community": 61,
|
||||
"norm_label": "destructive-chaos.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1206,7 +1206,7 @@
|
||||
"source_file": "tests/security-headers.test.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_security_headers_test_ts",
|
||||
"community": 61,
|
||||
"community": 62,
|
||||
"norm_label": "security-headers.test.ts"
|
||||
},
|
||||
{
|
||||
@@ -1215,7 +1215,7 @@
|
||||
"source_file": "tests/bug-fix-verification.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_bug_fix_verification_spec_ts",
|
||||
"community": 62,
|
||||
"community": 63,
|
||||
"norm_label": "bug-fix-verification.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1224,7 +1224,7 @@
|
||||
"source_file": "tests/pages.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_pages_spec_ts",
|
||||
"community": 63,
|
||||
"community": 64,
|
||||
"norm_label": "pages.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1233,7 +1233,7 @@
|
||||
"source_file": "tests/api-integration.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_api_integration_spec_ts",
|
||||
"community": 64,
|
||||
"community": 65,
|
||||
"norm_label": "api-integration.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1242,7 +1242,7 @@
|
||||
"source_file": "tests/static-assets.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_static_assets_spec_ts",
|
||||
"community": 65,
|
||||
"community": 66,
|
||||
"norm_label": "static-assets.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1251,7 +1251,7 @@
|
||||
"source_file": "tests/accessibility.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_accessibility_spec_ts",
|
||||
"community": 66,
|
||||
"community": 67,
|
||||
"norm_label": "accessibility.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1296,7 +1296,7 @@
|
||||
"source_file": "tests/inline-lead-form.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_inline_lead_form_spec_ts",
|
||||
"community": 67,
|
||||
"community": 68,
|
||||
"norm_label": "inline-lead-form.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1305,7 +1305,7 @@
|
||||
"source_file": "tests/cross-browser.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_cross_browser_spec_ts",
|
||||
"community": 68,
|
||||
"community": 69,
|
||||
"norm_label": "cross-browser.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1314,7 +1314,7 @@
|
||||
"source_file": "tests/sticky-cta.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_sticky_cta_spec_ts",
|
||||
"community": 69,
|
||||
"community": 70,
|
||||
"norm_label": "sticky-cta.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1323,7 +1323,7 @@
|
||||
"source_file": "tests/newsletter-subscription.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_newsletter_subscription_spec_ts",
|
||||
"community": 70,
|
||||
"community": 71,
|
||||
"norm_label": "newsletter-subscription.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1332,7 +1332,7 @@
|
||||
"source_file": "tests/portfolio.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_portfolio_spec_ts",
|
||||
"community": 71,
|
||||
"community": 72,
|
||||
"norm_label": "portfolio.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1341,7 +1341,7 @@
|
||||
"source_file": "tests/blog.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_blog_spec_ts",
|
||||
"community": 72,
|
||||
"community": 73,
|
||||
"norm_label": "blog.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -1350,7 +1350,7 @@
|
||||
"source_file": "tests/e2e-smoke-suite.spec.ts",
|
||||
"source_location": "L1",
|
||||
"id": "tests_e2e_smoke_suite_spec_ts",
|
||||
"community": 73,
|
||||
"community": 74,
|
||||
"norm_label": "e2e-smoke-suite.spec.ts"
|
||||
},
|
||||
{
|
||||
@@ -2793,6 +2793,33 @@
|
||||
"community": 11,
|
||||
"norm_label": "when to use astro"
|
||||
},
|
||||
{
|
||||
"label": "error-context.md",
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md",
|
||||
"source_location": "L1",
|
||||
"id": "test_results_theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_md",
|
||||
"community": 41,
|
||||
"norm_label": "error-context.md"
|
||||
},
|
||||
{
|
||||
"label": "Page snapshot",
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md",
|
||||
"source_location": "L1",
|
||||
"id": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot",
|
||||
"community": 41,
|
||||
"norm_label": "page snapshot"
|
||||
},
|
||||
{
|
||||
"label": "code:yaml (- generic [active] [ref=e1]:)",
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md",
|
||||
"source_location": "L3",
|
||||
"id": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_codeblock_1",
|
||||
"community": 41,
|
||||
"norm_label": "code:yaml (- generic [active] [ref=e1]:)"
|
||||
},
|
||||
{
|
||||
"label": "README-PERFORMANCE.md",
|
||||
"file_type": "document",
|
||||
@@ -3338,7 +3365,7 @@
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
|
||||
"source_location": "L1",
|
||||
"community": 41,
|
||||
"community": 42,
|
||||
"norm_label": "error-context.md",
|
||||
"id": "test_results_newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_md"
|
||||
},
|
||||
@@ -3347,7 +3374,7 @@
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
|
||||
"source_location": "L1",
|
||||
"community": 41,
|
||||
"community": 42,
|
||||
"norm_label": "page snapshot",
|
||||
"id": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_page_snapshot"
|
||||
},
|
||||
@@ -3356,7 +3383,7 @@
|
||||
"file_type": "document",
|
||||
"source_file": "test-results/newsletter-subscription-Ne-c1de9-isible-and-usable-on-mobile-chromium/error-context.md",
|
||||
"source_location": "L3",
|
||||
"community": 41,
|
||||
"community": 42,
|
||||
"norm_label": "code:yaml (- generic [active] [ref=e1]:)",
|
||||
"id": "newsletter_subscription_ne_c1de9_isible_and_usable_on_mobile_chromium_error_context_codeblock_1"
|
||||
},
|
||||
@@ -3365,7 +3392,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/playwright.config.ts",
|
||||
"source_location": "L1",
|
||||
"community": 74,
|
||||
"community": 75,
|
||||
"norm_label": "playwright.config.ts",
|
||||
"id": "playwright_config"
|
||||
},
|
||||
@@ -3374,7 +3401,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/env.d.ts",
|
||||
"source_location": "L1",
|
||||
"community": 75,
|
||||
"community": 76,
|
||||
"norm_label": "env.d.ts",
|
||||
"id": "env_d"
|
||||
},
|
||||
@@ -3401,7 +3428,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/content/config.ts",
|
||||
"source_location": "L1",
|
||||
"community": 45,
|
||||
"community": 43,
|
||||
"norm_label": "config.ts",
|
||||
"id": "config"
|
||||
},
|
||||
@@ -3410,7 +3437,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts",
|
||||
"source_location": "L1",
|
||||
"community": 46,
|
||||
"community": 47,
|
||||
"norm_label": "sitemap.xml.ts",
|
||||
"id": "sitemap_xml"
|
||||
},
|
||||
@@ -3419,7 +3446,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap.xml.ts",
|
||||
"source_location": "L13",
|
||||
"community": 46,
|
||||
"community": 47,
|
||||
"norm_label": "get()",
|
||||
"id": "sitemap_xml_get"
|
||||
},
|
||||
@@ -3428,7 +3455,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts",
|
||||
"source_location": "L1",
|
||||
"community": 47,
|
||||
"community": 48,
|
||||
"norm_label": "sitemap-index.xml.ts",
|
||||
"id": "sitemap_index_xml"
|
||||
},
|
||||
@@ -3437,7 +3464,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/sitemap-index.xml.ts",
|
||||
"source_location": "L10",
|
||||
"community": 47,
|
||||
"community": 48,
|
||||
"norm_label": "get()",
|
||||
"id": "sitemap_index_xml_get"
|
||||
},
|
||||
@@ -3563,7 +3590,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts",
|
||||
"source_location": "L1",
|
||||
"community": 48,
|
||||
"community": 49,
|
||||
"norm_label": "health.json.ts",
|
||||
"id": "health_json"
|
||||
},
|
||||
@@ -3572,7 +3599,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/src/pages/api/health.json.ts",
|
||||
"source_location": "L5",
|
||||
"community": 48,
|
||||
"community": 49,
|
||||
"norm_label": "get()",
|
||||
"id": "health_json_get"
|
||||
},
|
||||
@@ -4328,7 +4355,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/scripts/backup/windows-tasks.ps1",
|
||||
"source_location": "L1",
|
||||
"community": 76,
|
||||
"community": 77,
|
||||
"norm_label": "windows-tasks.ps1",
|
||||
"id": "windows_tasks"
|
||||
},
|
||||
@@ -4409,7 +4436,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-blog-navigation.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 77,
|
||||
"community": 78,
|
||||
"norm_label": "e2e-blog-navigation.spec.ts",
|
||||
"id": "e2e_blog_navigation_spec"
|
||||
},
|
||||
@@ -4472,7 +4499,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-critical-paths.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 78,
|
||||
"community": 79,
|
||||
"norm_label": "e2e-critical-paths.spec.ts",
|
||||
"id": "e2e_critical_paths_spec"
|
||||
},
|
||||
@@ -4481,7 +4508,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/navigation.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 79,
|
||||
"community": 80,
|
||||
"norm_label": "navigation.spec.ts",
|
||||
"id": "navigation_spec"
|
||||
},
|
||||
@@ -4490,7 +4517,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/contact-form.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 80,
|
||||
"community": 81,
|
||||
"norm_label": "contact-form.spec.ts",
|
||||
"id": "contact_form_spec"
|
||||
},
|
||||
@@ -4499,7 +4526,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-form-interactions.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 81,
|
||||
"community": 82,
|
||||
"norm_label": "e2e-form-interactions.spec.ts",
|
||||
"id": "e2e_form_interactions_spec"
|
||||
},
|
||||
@@ -4508,7 +4535,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/destructive-chaos.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 82,
|
||||
"community": 83,
|
||||
"norm_label": "destructive-chaos.spec.ts",
|
||||
"id": "destructive_chaos_spec"
|
||||
},
|
||||
@@ -4517,7 +4544,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/security-headers.test.ts",
|
||||
"source_location": "L1",
|
||||
"community": 83,
|
||||
"community": 84,
|
||||
"norm_label": "security-headers.test.ts",
|
||||
"id": "security_headers_test"
|
||||
},
|
||||
@@ -4526,7 +4553,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/bug-fix-verification.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 84,
|
||||
"community": 85,
|
||||
"norm_label": "bug-fix-verification.spec.ts",
|
||||
"id": "bug_fix_verification_spec"
|
||||
},
|
||||
@@ -4535,7 +4562,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/pages.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 85,
|
||||
"community": 86,
|
||||
"norm_label": "pages.spec.ts",
|
||||
"id": "pages_spec"
|
||||
},
|
||||
@@ -4544,7 +4571,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/api-integration.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 86,
|
||||
"community": 87,
|
||||
"norm_label": "api-integration.spec.ts",
|
||||
"id": "api_integration_spec"
|
||||
},
|
||||
@@ -4553,7 +4580,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/static-assets.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 87,
|
||||
"community": 88,
|
||||
"norm_label": "static-assets.spec.ts",
|
||||
"id": "static_assets_spec"
|
||||
},
|
||||
@@ -4562,7 +4589,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/accessibility.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 88,
|
||||
"community": 89,
|
||||
"norm_label": "accessibility.spec.ts",
|
||||
"id": "accessibility_spec"
|
||||
},
|
||||
@@ -4607,7 +4634,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/cross-browser.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 89,
|
||||
"community": 90,
|
||||
"norm_label": "cross-browser.spec.ts",
|
||||
"id": "cross_browser_spec"
|
||||
},
|
||||
@@ -4616,7 +4643,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/newsletter-subscription.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 90,
|
||||
"community": 91,
|
||||
"norm_label": "newsletter-subscription.spec.ts",
|
||||
"id": "newsletter_subscription_spec"
|
||||
},
|
||||
@@ -4625,7 +4652,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/portfolio.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 91,
|
||||
"community": 92,
|
||||
"norm_label": "portfolio.spec.ts",
|
||||
"id": "portfolio_spec"
|
||||
},
|
||||
@@ -4634,7 +4661,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/blog.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 92,
|
||||
"community": 93,
|
||||
"norm_label": "blog.spec.ts",
|
||||
"id": "blog_spec"
|
||||
},
|
||||
@@ -4643,7 +4670,7 @@
|
||||
"file_type": "code",
|
||||
"source_file": "/home/agent/ai-agent/backend/routes/../workspace/73f46153-e8cc-447a-82ad-2eeefa00689f/tests/e2e-smoke-suite.spec.ts",
|
||||
"source_location": "L1",
|
||||
"community": 93,
|
||||
"community": 94,
|
||||
"norm_label": "e2e-smoke-suite.spec.ts",
|
||||
"id": "e2e_smoke_suite_spec"
|
||||
},
|
||||
@@ -8238,6 +8265,26 @@
|
||||
"source": "blog_getting_started_with_astro_getting_started",
|
||||
"target": "blog_getting_started_with_astro_codeblock_4"
|
||||
},
|
||||
{
|
||||
"relation": "contains",
|
||||
"confidence": "EXTRACTED",
|
||||
"source_file": "test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md",
|
||||
"source_location": "L1",
|
||||
"weight": 1.0,
|
||||
"source": "test_results_theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_md",
|
||||
"target": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot",
|
||||
"confidence_score": 1.0
|
||||
},
|
||||
{
|
||||
"relation": "contains",
|
||||
"confidence": "EXTRACTED",
|
||||
"source_file": "test-results/theme-Theme-ARIA-Accessibi-8c42a-ria-checked-desktop-mobile--chromium/error-context.md",
|
||||
"source_location": "L3",
|
||||
"weight": 1.0,
|
||||
"source": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_page_snapshot",
|
||||
"target": "theme_theme_aria_accessibi_8c42a_ria_checked_desktop_mobile_chromium_error_context_codeblock_1",
|
||||
"confidence_score": 1.0
|
||||
},
|
||||
{
|
||||
"relation": "contains",
|
||||
"confidence": "EXTRACTED",
|
||||
|
||||
@@ -12,7 +12,7 @@ export default defineConfig({
|
||||
['list']
|
||||
],
|
||||
use: {
|
||||
baseURL: 'http://localhost:10000',
|
||||
baseURL: process.env.BASE_URL || 'http://localhost:10000',
|
||||
trace: 'on-first-retry',
|
||||
screenshot: 'only-on-failure',
|
||||
},
|
||||
|
||||
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -30,7 +30,11 @@ const currentPath = Astro.url.pathname;
|
||||
]}
|
||||
id="main-header"
|
||||
>
|
||||
<div class="container-wrapper">
|
||||
<!-- Full-bleed inner wrapper: the header background already spans the full
|
||||
viewport (the <header> is fixed left-0 right-0); this inner row stretches
|
||||
edge-to-edge too, keeping only responsive horizontal padding so the logo
|
||||
and nav never touch the screen edges and stay legible down to 360px. -->
|
||||
<div class="w-full px-4 sm:px-6 lg:px-8 xl:px-12">
|
||||
<nav class="flex items-center justify-between h-16 lg:h-20" aria-label="Main navigation">
|
||||
<!-- Logo -->
|
||||
<a href="/" class="flex items-center gap-2 group" aria-label="WorkRoot IT Solutions LLP - Home">
|
||||
|
||||
@@ -19,6 +19,7 @@ const services = [
|
||||
outcome: 'Ship a fast, SEO-ready web product your customers actually convert on.',
|
||||
description: 'Angular, React, Next.js, Astro frontends backed by Spring Boot APIs — built for speed, scale, and search visibility.',
|
||||
features: ['Angular/React/Next.js', 'Spring Boot APIs', 'Astro Static Sites'],
|
||||
cta: 'Discuss your web project',
|
||||
},
|
||||
{
|
||||
icon: 'smartphone',
|
||||
@@ -27,6 +28,7 @@ const services = [
|
||||
outcome: 'Launch on iOS and Android from a single codebase — without the native-team overhead.',
|
||||
description: 'Cross-platform React Native and Expo apps with offline-first sync, push notifications, and store-ready builds.',
|
||||
features: ['React Native / Expo', 'iOS & Android', 'Offline-First Apps'],
|
||||
cta: 'Discuss your mobile app',
|
||||
},
|
||||
{
|
||||
icon: 'brain',
|
||||
@@ -35,6 +37,7 @@ const services = [
|
||||
outcome: 'Replace spreadsheets and ageing tools with one system your operations team trusts.',
|
||||
description: 'Custom ERP, CRM, and admin platforms designed around your real workflows — already running in universities and government bodies.',
|
||||
features: ['University Management', 'Police Management', 'Crematorium SCMS'],
|
||||
cta: 'Discuss your ERP project',
|
||||
},
|
||||
{
|
||||
icon: 'cloud',
|
||||
@@ -43,6 +46,7 @@ const services = [
|
||||
outcome: 'Roll out secure, compliant platforms across districts without rewriting them for each one.',
|
||||
description: 'Multi-district deployments with role-based access, audit trails, and the uptime public services require.',
|
||||
features: ['Multi-District Deployments', 'Secure & Compliant', 'High Availability'],
|
||||
cta: 'Discuss your government project',
|
||||
},
|
||||
];
|
||||
|
||||
@@ -191,7 +195,11 @@ const techStack = [
|
||||
<div class="absolute inset-0 bg-gradient-to-b from-transparent via-transparent to-secondary-900/50"></div>
|
||||
</div>
|
||||
|
||||
<div class="container-wrapper relative z-10 py-24 lg:py-32">
|
||||
<!-- Full-bleed hero content: the <section> gradient already spans the full
|
||||
viewport; this wrapper stretches edge-to-edge (no max-width cap) with
|
||||
responsive horizontal padding so the copy + lead form stay padded and
|
||||
readable from 360px up to ultra-wide displays. -->
|
||||
<div class="w-full px-4 sm:px-6 lg:px-8 xl:px-12 relative z-10 py-14 sm:py-20 lg:py-32">
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 lg:gap-16 items-center">
|
||||
<!-- Left column — copy + CTAs -->
|
||||
<div class="text-center lg:text-left">
|
||||
@@ -214,11 +222,11 @@ const techStack = [
|
||||
</p>
|
||||
|
||||
<!-- Dual CTA Buttons — action verb + clear secondary -->
|
||||
<div class="mt-10 flex flex-wrap justify-center lg:justify-start gap-4 opacity-0 animate-slide-up" style="animation-delay: 0.8s;">
|
||||
<div class="mt-8 sm:mt-10 flex flex-col sm:flex-row sm:flex-wrap justify-center lg:justify-start gap-3 sm:gap-4 opacity-0 animate-slide-up" style="animation-delay: 0.8s;">
|
||||
<a
|
||||
href="/contact?source=hero"
|
||||
data-cta="hero-primary"
|
||||
class="group inline-flex items-center justify-center rounded-xl bg-gradient-to-r from-primary-500 to-primary-600 px-10 py-5 text-lg font-bold text-white transition-all hover:shadow-2xl hover:shadow-primary/50 hover:scale-105 focus:outline-none focus:ring-2 focus:ring-primary-400 focus:ring-offset-2 focus:ring-offset-secondary-900"
|
||||
class="group inline-flex w-full sm:w-auto items-center justify-center rounded-xl bg-gradient-to-r from-primary-500 to-primary-600 px-8 sm:px-10 py-4 sm:py-5 text-lg font-bold text-white transition-all hover:shadow-2xl hover:shadow-primary/50 sm:hover:scale-105 focus:outline-none focus:ring-2 focus:ring-primary-400 focus:ring-offset-2 focus:ring-offset-secondary-900"
|
||||
>
|
||||
Get my free proposal
|
||||
<svg class="ml-2 w-5 h-5 group-hover:translate-x-1 transition-transform" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
@@ -228,7 +236,7 @@ const techStack = [
|
||||
<a
|
||||
href="/portfolio"
|
||||
data-cta="hero-secondary"
|
||||
class="group inline-flex items-center justify-center rounded-xl border-2 border-white/30 bg-white/5 backdrop-blur-sm px-10 py-5 text-lg font-bold text-white transition-all hover:bg-white/10 hover:border-white/50 focus:outline-none focus:ring-2 focus:ring-white/50 focus:ring-offset-2 focus:ring-offset-secondary-900"
|
||||
class="group inline-flex w-full sm:w-auto items-center justify-center rounded-xl border-2 border-white/30 bg-white/5 backdrop-blur-sm px-8 sm:px-10 py-4 sm:py-5 text-lg font-bold text-white transition-all hover:bg-white/10 hover:border-white/50 focus:outline-none focus:ring-2 focus:ring-white/50 focus:ring-offset-2 focus:ring-offset-secondary-900"
|
||||
>
|
||||
<svg class="mr-2 w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" aria-hidden="true">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
||||
@@ -238,9 +246,32 @@ const techStack = [
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Named-client credibility line — concrete, attributable social
|
||||
proof sitting directly under the primary CTAs so a visitor sees
|
||||
WHO we've delivered for above the fold, not just generic trust
|
||||
adjectives. Names mirror the client roster in the TrustStrip logo
|
||||
bar immediately below the hero (see TrustStrip.astro). -->
|
||||
<p
|
||||
class="mt-6 flex flex-wrap items-center justify-center lg:justify-start gap-x-2 gap-y-1 text-sm sm:text-base text-secondary-200 opacity-0 animate-slide-up"
|
||||
style="animation-delay: 0.85s;"
|
||||
aria-label="Selected clients"
|
||||
>
|
||||
<svg class="w-4 h-4 flex-shrink-0 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
<span>
|
||||
Trusted by
|
||||
<span class="font-semibold text-white">IIT Patna</span>,
|
||||
<span class="font-semibold text-white">PLNR</span>,
|
||||
<span class="font-semibold text-white">RENTEC</span> &
|
||||
<span class="font-semibold text-white">MOC Soft</span>
|
||||
<span class="text-secondary-300">— 20+ systems delivered across enterprise & government teams.</span>
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<!-- Tertiary click-to-call — one-tap dial for visitors who'd rather
|
||||
talk now. Min 48px tap target per WCAG 2.5.5 / Apple HIG. -->
|
||||
<p class="mt-6 text-base sm:text-lg text-secondary-200 opacity-0 animate-slide-up flex flex-wrap items-center justify-center lg:justify-start gap-x-2 gap-y-1" style="animation-delay: 0.85s;">
|
||||
<p class="mt-6 text-base sm:text-lg text-secondary-200 opacity-0 animate-slide-up flex flex-wrap items-center justify-center lg:justify-start gap-x-2 gap-y-1" style="animation-delay: 0.9s;">
|
||||
<span>Prefer to talk now?</span>
|
||||
<a
|
||||
href="tel:+919561417403"
|
||||
@@ -256,7 +287,7 @@ const techStack = [
|
||||
</p>
|
||||
|
||||
<!-- Micro-trust line under CTAs -->
|
||||
<p class="mt-6 text-sm sm:text-base text-secondary-300 opacity-0 animate-slide-up flex flex-wrap items-center justify-center lg:justify-start gap-x-3 gap-y-2" style="animation-delay: 0.9s;" aria-label="Trust signals">
|
||||
<p class="mt-6 text-sm sm:text-base text-secondary-300 opacity-0 animate-slide-up flex flex-wrap items-center justify-center lg:justify-start gap-x-3 gap-y-2" style="animation-delay: 0.95s;" aria-label="Trust signals">
|
||||
<span class="inline-flex items-center gap-2">
|
||||
<svg class="w-4 h-4 text-accent-400" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true">
|
||||
<path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 511 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 511 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 384 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 386 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 426 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 458 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 401 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 401 KiB |
|
Before Width: | Height: | Size: 445 KiB After Width: | Height: | Size: 486 KiB |
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 391 KiB After Width: | Height: | Size: 491 KiB |
|
Before Width: | Height: | Size: 797 KiB After Width: | Height: | Size: 829 KiB |