Skip to content

Comments

Refactor marketing pages to client components and add comprehensive tests#624

Merged
JustAGhosT merged 53 commits intomainfrom
claude/implement-orchestration-qazjW
Feb 23, 2026
Merged

Refactor marketing pages to client components and add comprehensive tests#624
JustAGhosT merged 53 commits intomainfrom
claude/implement-orchestration-qazjW

Conversation

@JustAGhosT
Copy link
Collaborator

@JustAGhosT JustAGhosT commented Feb 22, 2026

Summary

This PR refactors marketing page components to use the client-side rendering pattern, adds comprehensive integration tests for the API and Keeper services, and introduces new documentation and configuration files to support the growing test suite and deployment infrastructure.

Key Changes

Marketing Pages Refactoring

  • Client Component Migration: Converted 10+ marketing page components (contact, preorder, technical, compliance, sbir, partnerships, products, about, methods, capabilities, schedule, timeline, financial, roi-calculator, competitors, unit-economics) from server-side to client-side rendering by extracting logic into *PageClient.tsx files
  • Page Wrapper Pattern: Created lightweight server-side page wrappers that import and render the client components, enabling proper metadata and static generation where needed
  • Interactive Demo: Updated interactive demo page to use server-side metadata while delegating rendering to client component

Comprehensive Test Coverage

  • Keeper Integration Tests (apps/keeper/tests/batch_anchor_integration.rs): 822 lines covering BatchAnchor module with schema creation, batch-size triggers, proof retrieval, verification, statistics, and timeout-triggered flushing
  • API Workspace Integration Tests (apps/api/tests/workspace_integration_tests.rs): 674 lines testing complete evidence lifecycle from creation to blockchain anchoring across multiple components
  • API Profile Update Tests (apps/api/tests/profile_update_tests.rs): 328 lines for user profile management endpoints
  • API Career Application Tests (apps/api/tests/career_application_tests.rs): 204 lines for career application submission and retrieval
  • Marketing Component Tests: Added tests for CartContext, EventSystem, PerformanceMonitor, SimpleStateMachine, ObjectPool, AuthFlow, and PageComponents

Documentation & Architecture

  • Architecture Decision Records (ADRs): Added 10 new ADRs covering:
    • ADR-0034: Keeper Service Dual-Loop Design
    • ADR-0101: Rust Workspace Structure and rustls-Only TLS Policy
    • ADR-0102: SQLite as Primary Operational Database
    • ADR-0103: Marketing Site Password-less Authentication
    • ADR-0200: Dual-Chain Evidence Anchoring Architecture
    • ADR-0201: Evidence Hashing Algorithm (SHA-256)
    • ADR-0301: Python Detector Factory Pattern
    • ADR-0401: WASM Integration Strategy
    • ADR-0402: Frontend Framework Selection
    • ADR-0403: Tauri 2 for Desktop Application Packaging
  • API Documentation: Expanded from 3 to 8 estimated reading time with comprehensive endpoint documentation
  • Removed Deprecated Workflows: Cleaned up deprecated Netlify deployment workflows

Configuration & Infrastructure

  • Environment Files: Added .env.example files for api, keeper, and detector apps with comprehensive configuration documentation
  • E2E Testing: Added Playwright-based E2E test workflow with API health checks and marketing page tests
  • Release Workflow: Added automated release and changelog generation workflow
  • Pricing Data: Centralized segment-level deployment-package pricing in apps/docs/src/data/pricing.ts with synchronization notes for marketing components

UI/UX Improvements

  • Design System Integration: Updated global styles to import shared design tokens from packages/ui
  • CSS Refactoring: Reorganized ROI calculator and added new styling modules for unit economics and competitors pages
  • Z-Index Management: Standardized z-index values using CSS variables (--pr-z-nav, --pr-z-skip-nav)
  • Case Studies Enhancement: Added metrics display and outcomes sections to case studies component

Code Quality

  • CLI Refactoring: Extracted CLI command building in evidence-cli for better testability
  • Detector Improvements: Enhanced hardware detection, multi-camera handoff matching, and configuration handling
  • Preorder Functionality: Added database functions for preorder creation and retrieval in API
  • Cart Context: Extended with item count calculation and improved state management

Notable Implementation Details

  • Marketing pages now follow

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh

Summary by CodeRabbit

  • New Features

    • Added preorder system with checkout and customer information forms
    • Implemented passwordless email authentication
    • Added career application capability
    • Launched ROI calculator and unit economics dashboard
    • Added calendar scheduling and integration features
    • Expanded product pages and technical documentation
    • Updated branding with new accent color
  • Documentation

    • Significantly expanded API documentation with authentication flows
    • Added comprehensive architectural decision records
    • Updated pricing and market segment documentation
    • Reorganized technical resources
  • Tests

    • Added end-to-end testing with Playwright
    • Expanded test coverage for cart, authentication, and game systems

- Fix jest.config.js: correct moduleNameMapper typo and tighten testMatch
  pattern to exclude non-test files like test-utils.tsx
- Add esModuleInterop to tsconfig.json for @types/react compatibility
- Fix useIntersectionObserver test: remove invalid window.undefined
  redefinition and rewrite SSR test
- Fix RevealSection test: add cleanup between renders, fix ref assertion
- Rewrite ExitIntentModal component to match test expectations (content,
  ARIA attributes, event listener target)
- Fix Button component class names to match test assertions, fix rel
  deduplication for external links
- Fix StickyHeader and QuickActionsWidget tests: use .closest(".fixed")
  instead of .closest("div") for correct DOM traversal
- Fix ExitIntentModal focus trap test to work with jsdom limitations

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Adds HTTP health check support and improves service observability
for the evidence CLI and keeper background service.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Provides documented environment variable templates for local
development across the three backend services.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Remove disabled deployment workflows and workflow improvements doc
that are no longer relevant. Update agent backlog with completed items.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
- PRD-001/PRD-004: Reconcile pricing.ts with products.ts source of truth.
  Segment pricing now reflects deployment packages (not individual SKUs),
  with cross-references and last-reconciled timestamp.
- PRD-005: Expand ROI calculator page with product-aware cost breakdown,
  sample deployment packages (Basic/Property/Enterprise), and payback
  period projections sourced from the product catalog.
- MKT-001 (backend): Add preorder API endpoint with preorders/preorder_items
  tables, migration, CRUD handlers, input validation, and route wiring.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
- PRD-001: Fix deploymentCost defaults from $250K to $150K (matching
  AeroNet Enterprise AN-ENT-001) in InteractiveElementsSection,
  roi-calculator page, and financial page.
- PRD-004: Align values.ts PRICING constants with deployment-package
  ranges from reconciled pricing.ts (military $165K-$235K,
  infrastructure $30K-$70K, commercial $2K-$5K).
- PRD-005: Add ROI calculator page CSS module with deployment tier
  cards, payback period projections, and financial disclaimer styling.
- MKT-001: Wire preorder form to POST /preorders API endpoint with
  loading state, error handling, and order confirmation display.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
SIM-001: Replace save_session_to_persistence stub with real SHA-256
digest computation via phoenix_evidence::hash::sha256_hex. Session
data is canonically serialized then hashed, producing a deterministic
evidence ID (sim-{session}-{digest_prefix}) suitable for downstream
blockchain anchoring by the keeper service.

SIM-002: Replace save_evidence "evidence-id-placeholder" with actual
tamper-evident hashing. Evidence payloads now include a timestamp,
get SHA-256 digested, and return a proper evidence ID
(ev-{session}-{digest_prefix}).

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Completed this session: SIM-001, SIM-002, MKT-001, PRD-001,
PRD-004, PRD-005, DX-010 (plus 6 from Phase 1).
Remaining: 5 P0, 16 P1, 21 P2, 12 P3 = 54 items.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Wave 1 — Backend crate testing:
- KPR-002: 8 integration tests for keeper batch_anchor (Merkle tree flow)
- X402-001: Integration tests for x402 payment protocol
- ADDR-001: Integration tests for address-validation (EVM + Solana)
- SOL-001: 12 inline tests for anchor-solana + verified existing integration tests

Wave 2 — P0 fix:
- DET-001: Camera fusion handoff now projects predicted 3D position to
  camera image space using pinhole model and checks distance threshold
  instead of blindly accepting any detection

Wave 3 — CI hardening:
- CI-001: Re-enabled cargo audit (removed CARGO_AUDIT_SKIP=true)
- CI-002: Fixed mypy type errors across 15 detector source files
- CI-003: Integration tests use -m "not hardware" marker filtering
- CI-007: Created staging.tfvars (T4 GPU, spot instances, 2 max nodes)

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Fix type annotations across settings.py, main.py, and track_persistence.py
to eliminate all mypy errors. Remove continue-on-error from detector CI
so mypy failures now block the pipeline.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Install detector[dev] dependencies into pytest's uv-managed
environment on session start so tests can run immediately.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
COV-001: Add cargo-llvm-cov to Rust CI with LCOV output + artifact upload
COV-002: Add vitest --coverage to marketing CI with artifact upload
COV-003: Set marketing vitest coverage thresholds (30/30/25/30)
CI-004/CI-005: Coverage reporting now present for both Rust and JS/TS
TST-001: 5 career application endpoint tests (auth, team member guard, happy path)
TST-002: 7 profile update edge case tests (partial, null, timestamp, team status)

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…pdate

API-001: Replace SHA-256 preview placeholder with real Ed25519 attestation
signing in x402 legal tier. New attestation module with key loading from
X402_ATTESTATION_PRIVATE_KEY env var, ephemeral keys for dev, and signature
verification utilities. 5 new unit tests.

DOC-001: Remove misleading TODO comment in scheduled.ts — email sending via
SendGrid/Azure is already fully implemented, just needs API key configured.

DOC-002: Update ADR-0015 technical debt section — legacy PROMPTS object
already removed; remaining work is migrating inline prompts to centralized
template system.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
SIM-003: Added 118 marketing tests (396 total) covering eventSystem,
simpleStateMachine, objectPool, performanceMonitor, and formatter.

INT-001: Cross-app API→Keeper integration tests with evidence lifecycle
and failure/retry scenarios in workspace_integration_tests.rs.

INT-002: Playwright E2E testing foundation per ADR-0063 — config,
marketing page tests, API health checks, and CI workflow.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…ixtures

TST-003: 19 cart context tests — add/remove/update/clear items,
quantity edge cases, localStorage persistence and recovery.

TST-004: 15 auth flow tests — login/logout, session management,
team member detection, API interactions, profile confirmation.

TST-005: 21 page component tests — product data validation,
pricing integrity, category/phase enums, component smoke tests.

TST-006: Hardware skip fixtures in detector conftest.py
(skip_no_camera, skip_no_gpio) for future hardware tests.

Marketing tests: 451 total (up from 396).

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…uct fixes

- SEO-001: Add OpenGraph metadata to all marketing pages by extracting
  "use client" components into *PageClient.tsx and exporting metadata
  from server-component page.tsx wrappers
- COV-004: Add Codecov upload to ci-rust.yml and ci-marketing.yml,
  expand codecov.yml with marketing/x402/evidence flags and components
- PRD-007: Add oneTimeTotal and recurringTotal to cart state, context,
  and CartPanel display (shows monthly breakdown when recurring > 0)
- PRD-002: Fix 3 RKV products (Mothership, Interceptor, Ground Station)
  to have comingSoon: true for future-phase series-b/c items
- SEO-003: Add quantifiable outcomes to case study data and render
  "Key Outcomes" section with checkmark list in CaseStudiesSection

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…pdate

- PRD-006: New /unit-economics page with CAC (R50K), LTV (R1.2M),
  12-month payback, COGS breakdown, 65%/25% margin targets, 5-year
  revenue projections (R25M→R500M), and funding roadmap
- FIN-001: New /competitors page with feature comparison table
  (DroneShield, Dedrone, Anduril, Rafael, Fortem, Raytheon), competitor
  profiles with strengths/weaknesses, Phoenix advantages, and market
  positioning strategy
- Update AGENT_BACKLOG.md: 44 of 54 items now completed

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…compliance

- Expand validate-env.sh with docs (Azure Entra), marketing (API URL, tour),
  API (x402 payment), keeper (ports, polling), and detector app support
- Add CI env validation steps to ci-rust, deploy-docs-azure, detector-ci
- Add release.yml workflow with git-cliff changelog generation
- Add cliff.toml config for conventional commit parsing
- Update SBIR page with specific compliance roadmap dates and classifications

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…fixes

- FIN-002: Add interactive sliders (year1 systems, avg revenue, growth rate)
  to unit economics revenue projections table
- FIN-003: Add BOM component breakdown for SkySnare, SkyWatch Pro, and
  AeroNet Enterprise with cost bar visualizations
- DX-002: Accessibility fixes across packages/ui:
  - Button: add focus-visible outline color token, secondary fallback
  - QuickActionsWidget: add nav landmark, focus-visible styles, aria-hidden icons
  - StickyHeader: add focus-visible on CTA, aria-hidden when collapsed,
    CSS variable fallbacks
  - RevealSection: respect prefers-reduced-motion in JS (content visible
    immediately for users who disable animations)
- Update AGENT_BACKLOG.md: mark DX-011, DX-012, FIN-002, FIN-003, PRD-008

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
… remaining P3

51/54 items completed. Remaining 3 P3 items (DX-003/004/009) audited with
analysis notes and deferred to next sprint.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Tech stack: ESLint 8→9, Prettier 3.7→3.8, Turborepo 2.7→2.8
Repo structure: add e2e/ directory
Commands: fix threat simulator test command (pnpm sim:test)
API routes: add missing /preorders endpoints
Keeper: document KEEPER_PROVIDER, KEEPER_HTTP_PORT, KEEPER_CONFIRM_POLL_MS;
  demote KEEPER_USE_STUB to legacy
Python: bandit is pre-commit only, coverage 50% is unenforced target
Config symlinks: add .editorconfig, .prettierignore
Gotchas: getrandom feature js→wasm_js, src-tauri not a pnpm member
Infrastructure: environments dev/stg/prd→dev/prod

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
DX-007 stale content fixes:
- CLAUDE.md: cargo audit gotcha corrected (runs in CI, not skipped)
- CLAUDE.md: mypy gotcha updated (errors resolved, CI enforces)
- Keeper CLAUDE.md: EtherLink defaults corrected (ghostnet, not mainnet)
- progress-overview.md: fix frontmatter fields (timeEstimate→estimated_reading_time)

Wave 6 backlog added from agent audits:
- 9 design token consolidation items (brand-guardian audit)
- 7 market segment gap items (market-finder analysis)
- 5 stale content items requiring documentation rewrites

53/54 original backlog items completed this session.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Critical:
- tokens/index.css: bump --pr-fg-subtle from #64748b to #94a3b8 (AA on all
  dark surfaces: 4.24→5.71+ ratio)

Major:
- Button: secondary fallback #f97316→#334155 (fixes white-on-orange 2.80:1
  failure); add primary/outline CSS variable fallbacks; add pointer-events-none
  to disabled state
- Card: add ariaLabel prop threaded to interactive role="button"
- ExitIntentModal: replace eslint-disable with role="presentation" on backdrop;
  add aria-label on download link; use focus-visible instead of focus

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
…logued

ADR agent found 45 standalone + 19 inline ADRs, 5 structural defects
(D001 collision, dual-0000, numbering scheme conflict, mechanical namespace,
0072 template bug), and 10 missing ADRs for core decisions (rustls policy,
SQLite operations, WASM strategy, keeper dual-loop, evidence hashing).
All findings added to Wave 6 backlog (36 total items from 6 parallel agents).

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
… + 3 new ADRs

TOK-001: ThemeContext now sets --pr-accent-base/hover/active/subtle for all 3 themes
DOC-003: API documentation rewritten with real routes, models, and auth flow
ADR-001: Calendar export renumbered D001 → D010 to fix collision with Monorepo ADR
ADR-002: adr-management.md numbering scheme aligned to template-and-guide.md
ADR-006: New ADR-0101 — Rust workspace structure + rustls-only TLS policy
ADR-007: New ADR-0102 — SQLite as operational database (PRAGMAs, URL chain, migrations)
ADR-008: New ADR-0401 — WASM integration strategy (3 targets, getrandom, sync:wasm)

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
TOK-002: Logo SVGs and brand docs reconciled to #f97316 (token system color)
MKT-002: AeroNet Patrol mid-market bundle ($12K-$28K)
MKT-003: AeroNet LEO law enforcement bundle ($45K-$95K) with blockchain evidence
MKT-004: AeroNet Allied NATO export bundle ($120K-$350K), non-ITAR, STANAG
MKT-005: AeroNet Corrections prison drone interdiction ($55K-$150K)
DOC-004: ADR-0035 fixed — apps/tauri → apps/threat-simulator-desktop, workflow note
ADR-003: Inline stub expansion note added to architecture-decision-records.md
ADR-009: New ADR-0034 — Keeper dual-loop design (tokio::select!, backoff)
ADR-010: New ADR-0200 — Dual-chain evidence anchoring (Merkle batching)
ADR-011: New ADR-0201 — Evidence hashing algorithm (SHA-256, FIPS, DigestAlgo)

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
Design tokens: shared token import in globals.css, typography scale aligned,
duration tokens reconciled (100ms/150ms/200ms).

Market segments: SkyWatch FarmPack ($3.5K-$8K), AeroNet Events rental
($2.5K-$15K), AeroNet Maritime ($75K-$200K).

Stale content: ADR-D004 Next.js 14→16, system-architecture EtherLink defaults,
documentation-status updated to Feb 2026.

ADR fixes: mechanical ADRs renamed M-0001 through M-0005.

New ADRs: ADR-0301 (Python detector factory), ADR-0402 (frontend frameworks),
ADR-0103 (passwordless auth), ADR-0403 (Tauri desktop packaging).

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
TOK-006: Z-index token scale extended with --pr-z-base/raised/above/nav/
skip-nav/tour. Navigation, SkipNav, Tour, globals.css updated to use tokens.

TOK-007: Hardcoded colors replaced — Footer Soonami branding uses
--pr-brand-soonami-* tokens, preorder confirmation uses --pr-status-success.

TOK-008: Sub-brand tokens defined — SkySnare (teal), AeroNet (blue),
Soonami (partner) added to shared tokens.

TOK-009: Container width fragmentation resolved — --container-max-width and
--container-max-width-wide now reference shared --pr-container-* tokens.
HeroSection, globals.css .container, ThreatSimulator all use variable refs.

ADR-005: ADR-0072 template code fence changed from `markdown` to `text` with
title annotation, preventing potential MDX parser issues.

Completes all 36 Wave 6 backlog items (6a–6d).

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 22, 2026

Important

Review skipped

Too many files!

This PR contains 179 files, which is 29 over the limit of 150.

📥 Commits

Reviewing files that changed from the base of the PR and between b443d40 and 4c04cb7.

⛔ Files ignored due to path filters (4)
  • Cargo.lock is excluded by !**/*.lock
  • apps/marketing/public/logo-banner.svg is excluded by !**/*.svg
  • apps/marketing/public/logo.svg is excluded by !**/*.svg
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (179)
  • .claude/agents/design/brand-guardian.md
  • .claude/settings.json
  • .github/WORKFLOW_IMPROVEMENTS.md
  • .github/workflows/ci-marketing.yml
  • .github/workflows/ci-rust.yml
  • .github/workflows/deploy-docs-azure.yml
  • .github/workflows/deploy-docs-site.yml.disabled
  • .github/workflows/deploy-marketing-site.yml.disabled
  • .github/workflows/detector-ci.yml
  • .github/workflows/e2e.yml
  • .github/workflows/release.yml
  • .gitignore
  • AGENT_BACKLOG.md
  • CLAUDE.md
  • apps/api/.env.example
  • apps/api/Cargo.toml
  • apps/api/src/db.rs
  • apps/api/src/handlers.rs
  • apps/api/src/handlers_x402.rs
  • apps/api/src/lib.rs
  • apps/api/src/migrations.rs
  • apps/api/src/models.rs
  • apps/api/tests/career_application_tests.rs
  • apps/api/tests/profile_update_tests.rs
  • apps/api/tests/workspace_integration_tests.rs
  • apps/detector/.env.example
  • apps/detector/src/alert_handlers.py
  • apps/detector/src/alert_retry_queue.py
  • apps/detector/src/config/settings.py
  • apps/detector/src/federated_learning.py
  • apps/detector/src/frame_sources.py
  • apps/detector/src/hardware.py
  • apps/detector/src/inference_engines.py
  • apps/detector/src/main.py
  • apps/detector/src/metrics.py
  • apps/detector/src/multi_camera.py
  • apps/detector/src/phone_audio_bridge.py
  • apps/detector/src/renderers.py
  • apps/detector/src/simulation_mode.py
  • apps/detector/src/streaming.py
  • apps/detector/src/targeting.py
  • apps/detector/src/threat_classification.py
  • apps/detector/src/track_persistence.py
  • apps/detector/src/turret_transport.py
  • apps/detector/tests/conftest.py
  • apps/docs/azure-functions/src/functions/scheduled.ts
  • apps/docs/docs/progress/2025/week-50.mdx
  • apps/docs/docs/progress/progress-overview.md
  • apps/docs/docs/resources/documentation-status.md
  • apps/docs/docs/resources/slide-deck-guide.mdx
  • apps/docs/docs/technical/architecture/adr-0000-adr-management.md
  • apps/docs/docs/technical/architecture/adr-0015-prompt-management.md
  • apps/docs/docs/technical/architecture/adr-0034-keeper-dual-loop-design.md
  • apps/docs/docs/technical/architecture/adr-0035-cicd-pipeline-strategy.md
  • apps/docs/docs/technical/architecture/adr-0072-incident-response.md
  • apps/docs/docs/technical/architecture/adr-0101-rust-workspace-rustls-policy.md
  • apps/docs/docs/technical/architecture/adr-0102-sqlite-operational-database.md
  • apps/docs/docs/technical/architecture/adr-0103-marketing-passwordless-auth.md
  • apps/docs/docs/technical/architecture/adr-0200-dual-chain-evidence-anchoring.md
  • apps/docs/docs/technical/architecture/adr-0201-evidence-hashing-algorithm.md
  • apps/docs/docs/technical/architecture/adr-0301-python-detector-factory-pattern.md
  • apps/docs/docs/technical/architecture/adr-0401-wasm-integration-strategy.md
  • apps/docs/docs/technical/architecture/adr-0402-frontend-framework-selection.md
  • apps/docs/docs/technical/architecture/adr-0403-tauri-desktop-packaging.md
  • apps/docs/docs/technical/architecture/adr-D010-calendar-export-integration.md
  • apps/docs/docs/technical/architecture/architecture-decision-records.md
  • apps/docs/docs/technical/architecture/system-architecture-analysis.md
  • apps/docs/docs/technical/integration/api-documentation.md
  • apps/docs/docs/technical/mechanical/mechanical-design-adrs.md
  • apps/docs/src/data/pricing.ts
  • apps/docs/src/data/values.ts
  • apps/evidence-cli/Cargo.toml
  • apps/evidence-cli/src/main.rs
  • apps/keeper/.env.example
  • apps/keeper/CLAUDE.md
  • apps/keeper/Cargo.toml
  • apps/keeper/src/batch_anchor.rs
  • apps/keeper/src/lib.rs
  • apps/keeper/tests/batch_anchor_integration.rs
  • apps/marketing/CALENDAR_FEATURE.md
  • apps/marketing/package.json
  • apps/marketing/src/__tests__/authFlow.test.tsx
  • apps/marketing/src/__tests__/cartContext.test.tsx
  • apps/marketing/src/__tests__/eventSystem.test.ts
  • apps/marketing/src/__tests__/formatter.test.ts
  • apps/marketing/src/__tests__/objectPool.test.ts
  • apps/marketing/src/__tests__/pageComponents.test.tsx
  • apps/marketing/src/__tests__/performanceMonitor.test.ts
  • apps/marketing/src/__tests__/simpleStateMachine.test.ts
  • apps/marketing/src/app/about/AboutPageClient.tsx
  • apps/marketing/src/app/about/page.tsx
  • apps/marketing/src/app/capabilities/CapabilitiesPageClient.tsx
  • apps/marketing/src/app/capabilities/page.tsx
  • apps/marketing/src/app/competitors/CompetitorsPageClient.tsx
  • apps/marketing/src/app/competitors/competitors.module.css
  • apps/marketing/src/app/competitors/page.tsx
  • apps/marketing/src/app/compliance/CompliancePageClient.tsx
  • apps/marketing/src/app/compliance/page.tsx
  • apps/marketing/src/app/contact/ContactPageClient.tsx
  • apps/marketing/src/app/contact/page.tsx
  • apps/marketing/src/app/financial/FinancialPageClient.tsx
  • apps/marketing/src/app/financial/page.tsx
  • apps/marketing/src/app/globals.css
  • apps/marketing/src/app/interactive-demo/InteractiveDemoPageClient.tsx
  • apps/marketing/src/app/interactive-demo/page.tsx
  • apps/marketing/src/app/methods/MethodsPageClient.tsx
  • apps/marketing/src/app/methods/page.tsx
  • apps/marketing/src/app/page.tsx
  • apps/marketing/src/app/partnerships/PartnershipsPageClient.tsx
  • apps/marketing/src/app/partnerships/page.tsx
  • apps/marketing/src/app/preorder/PreorderPageClient.tsx
  • apps/marketing/src/app/preorder/page.tsx
  • apps/marketing/src/app/preorder/preorder.module.css
  • apps/marketing/src/app/products/ProductsPageClient.tsx
  • apps/marketing/src/app/products/page.tsx
  • apps/marketing/src/app/roi-calculator/ROICalculatorPageClient.tsx
  • apps/marketing/src/app/roi-calculator/page.tsx
  • apps/marketing/src/app/roi-calculator/roi-calculator.module.css
  • apps/marketing/src/app/sbir/SBIRPageClient.tsx
  • apps/marketing/src/app/sbir/page.tsx
  • apps/marketing/src/app/schedule/SchedulePageClient.tsx
  • apps/marketing/src/app/schedule/page.tsx
  • apps/marketing/src/app/technical/TechnicalPageClient.tsx
  • apps/marketing/src/app/technical/page.tsx
  • apps/marketing/src/app/technical/technical.module.css
  • apps/marketing/src/app/timeline/TimelinePageClient.tsx
  • apps/marketing/src/app/timeline/page.tsx
  • apps/marketing/src/app/unit-economics/UnitEconomicsPageClient.tsx
  • apps/marketing/src/app/unit-economics/page.tsx
  • apps/marketing/src/app/unit-economics/unit-economics.module.css
  • apps/marketing/src/components/Footer.module.css
  • apps/marketing/src/components/Navigation.module.css
  • apps/marketing/src/components/SkipNav.module.css
  • apps/marketing/src/components/ThreatSimulator.module.css
  • apps/marketing/src/components/Tour/Tour.module.css
  • apps/marketing/src/components/cart/CartPanel.tsx
  • apps/marketing/src/components/sections/CaseStudiesSection.module.css
  • apps/marketing/src/components/sections/CaseStudiesSection.tsx
  • apps/marketing/src/components/sections/HeroSection.module.css
  • apps/marketing/src/components/sections/InteractiveElementsSection.tsx
  • apps/marketing/src/components/sections/data/caseStudiesData.ts
  • apps/marketing/src/contexts/CartContext.tsx
  • apps/marketing/src/contexts/ThemeContext.tsx
  • apps/marketing/src/data/products.ts
  • apps/marketing/src/styles/variables.css
  • apps/marketing/src/types/cart.ts
  • apps/marketing/tsconfig.json
  • apps/marketing/vitest.config.ts
  • apps/threat-simulator-desktop/src-tauri/src/main.rs
  • cliff.toml
  • codecov.yml
  • crates/address-validation/tests/validation_tests.rs
  • crates/anchor-solana/src/lib.rs
  • crates/x402/Cargo.toml
  • crates/x402/src/attestation.rs
  • crates/x402/src/lib.rs
  • crates/x402/tests/x402_integration.rs
  • e2e/package.json
  • e2e/playwright.config.ts
  • e2e/tests/api-health.spec.ts
  • e2e/tests/marketing-pages.spec.ts
  • infra/terraform/ml-training/environments/staging.tfvars
  • packages/ui/jest.config.js
  • packages/ui/src/components/Button.tsx
  • packages/ui/src/components/Card.tsx
  • packages/ui/src/components/ExitIntentModal.tsx
  • packages/ui/src/components/QuickActionsWidget.tsx
  • packages/ui/src/components/RevealSection.tsx
  • packages/ui/src/components/StickyHeader.tsx
  • packages/ui/src/components/__tests__/ExitIntentModal.test.tsx
  • packages/ui/src/components/__tests__/QuickActionsWidget.test.tsx
  • packages/ui/src/components/__tests__/RevealSection.test.tsx
  • packages/ui/src/components/__tests__/StickyHeader.test.tsx
  • packages/ui/src/hooks/__tests__/useIntersectionObserver.test.ts
  • packages/ui/src/tokens/index.css
  • packages/ui/tsconfig.json
  • pnpm-workspace.yaml
  • scripts/validate-env.sh
  • tests/workspace_integration.rs

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch claude/implement-orchestration-qazjW

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

chore: regenerate pnpm-lock.yaml to resolve merge conflicts
@JustAGhosT
Copy link
Collaborator Author

@copilot merging claude/implement-orchestration-qazjW into main still has 21 pnpm-lock conlicts, make sure you update rom main and resolve this issue

Copy link
Contributor

Copilot AI commented Feb 23, 2026

@JustAGhosT I've opened a new pull request, #640, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 3 commits February 23, 2026 10:23
Co-authored-by: JustAGhosT <5531814+JustAGhosT@users.noreply.github.com>
chore: regenerate pnpm-lock.yaml from main to resolve merge conflicts
Regenerated lockfile after merging latest main to resolve
the pnpm-lock.yaml merge conflict.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@github-actions
Copy link

🚀 Azure Static Web Apps Preview

✅ Deployment complete!

Note: The preview URL could not be automatically detected. Please check:

This preview will be automatically deleted when the PR is closed.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

- Upgrade cargo-audit from 0.21.2 to 0.22.1 for CVSS 4.0 support
  (RUSTSEC-2026-0003 uses CVSS 4.0 vectors the old version can't parse)
- Use 127.0.0.1 instead of localhost in API e2e tests to avoid IPv6
  resolution (Node.js resolves localhost to ::1 but API binds 0.0.0.0)
- Fix marketing e2e: about/capabilities pages use h2 not h1, preorder
  form is conditional so test h1 heading instead

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@github-actions
Copy link

🚀 Azure Static Web Apps Preview

✅ Deployment complete!

Note: The preview URL could not be automatically detected. Please check:

This preview will be automatically deleted when the PR is closed.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

- Format marketing-pages.spec.ts to pass prettier check
- Use nohup + curl health-check loop for API server startup in e2e
  workflow instead of blind sleep 3 (server was getting SIGHUP-killed
  when the shell step exited, and failures were silent)
- Log API server output to file for debugging startup failures

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

@github-actions
Copy link

🚀 Azure Static Web Apps Preview

✅ Deployment complete!

Note: The preview URL could not be automatically detected. Please check:

This preview will be automatically deleted when the PR is closed.

The API server failed in CI with "unable to open database file" because
SqlitePool::connect() defaults create_if_missing to false. Switch to
connect_with(SqliteConnectOptions) with create_if_missing(true) so the
database file is created automatically on first run.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

@github-actions
Copy link

🚀 Azure Static Web Apps Preview

✅ Deployment complete!

Note: The preview URL could not be automatically detected. Please check:

This preview will be automatically deleted when the PR is closed.

The API returns { data, page, per_page, total } not { items }. Update
the evidence and countermeasures e2e tests to check for "data" property.

https://claude.ai/code/session_01VUpGxGeB9PdnLL7WhFwoxh
@github-actions
Copy link

🚀 Azure Static Web Apps Preview

✅ Deployment complete!

Note: The preview URL could not be automatically detected. Please check:

This preview will be automatically deleted when the PR is closed.

@github-actions
Copy link

Azure Static Web Apps: Your stage site is ready! Visit it here: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

@github-actions
Copy link

🚀 Azure Static Web Apps Preview (Marketing)

✅ Deployment complete!

Preview URL: https://ambitious-sand-0ef6ce10f-624.eastus2.3.azurestaticapps.net

This preview will be automatically deleted when the PR is closed.

@JustAGhosT JustAGhosT merged commit ae538e1 into main Feb 23, 2026
27 checks passed
@JustAGhosT JustAGhosT deleted the claude/implement-orchestration-qazjW branch February 23, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants