# Initial prototype QA — October 15, 2026

These are technical checks performed on the coded concept, not participant findings, a full accessibility audit, or proof of better business outcomes.

## Passed checks

- Project totals: 8 weeks, 42 ordered tasks, 160 planned hours; each week totals 20 hours.
- All four page files include a viewport declaration and main landmark. Local page links and script syntax pass the preparation check.
- Pure routing tests: 14 expected-result scenarios pass. All 54 valid combinations produce an allowed outcome. Coverage includes each of six destinations, governance-uncertainty overrides, and less-defined implementation/adoption paths.
- Browser: guide opens, empty selection displays an error, a defined-build scenario returns AI Implementation Sprints, and the result includes reason, alternative, timing, source, and prototype disclaimer.
- Browser: route-specific contact preview says nothing was sent and points to the official contact destination without attaching guide answers.
- Browser: Escape closes the contact dialog and focus returns to the homepage guide trigger.
- Browser: scripted helper's service prompt produces local comparison and official source links. An unsupported catering question produces a no-match reply and human-route option.
- Mobile viewport requested at 390 × 844: homepage, service page, and plan page show no document-level horizontal overflow. Five service cards and all 42 tasks render. Mobile menu opens and navigates to the service page.
- Native service details expand, and “Expand all task details” opens all 42 plan tasks.
- Visual review: desktop homepage and case-study opening; mobile homepage, service card, and plan opening. A sticky-header containment defect was found and fixed, then the service page was reloaded and checked.

## Evidence and limitations

- Desktop baseline: public homepage opening, full AI service page, and live assistant opening. No user messages were submitted to the live assistant.
- Assistant naming inconsistency observed: current homepage links to Kinvia; assistant greeting and suggested prompt mention FaithBase. Product relationship is unconfirmed.
- The browser could not capture the live source page after a mobile viewport override. No live mobile defect is claimed. Capture the complete baseline during Task 1.2.
- Prototype screenshots are under `evidence/`. Screenshot raster dimensions may differ from the requested CSS viewport due to browser chrome/scaling. See the evidence manifest.
- Still unverified: full screen reader operation, comprehensive keyboard/focus trapping, zoom, reduced-motion behavior, every browser integration state, a full link-destination crawl, automated accessibility coverage, real-user usability, and business conversion.
- Source code uses no AI API, analytics event, form submission, or CRM. External fonts, hosting access logs, and official-site links have their own network/privacy behavior.
- No assertion of WCAG conformance, model accuracy, approved security posture, or production readiness.

## Brand and motion refinement checks

- Sampled the official AI page’s CSS tokens: bone `#F5F1EA`, ink `#0B0B0B`, red `#F00000`. Verified matching computed body colors and red token on the concept homepage.
- Visually checked the new direct headline, explanatory statement, and neutral/red journey illustration on desktop and at 390 CSS-pixel mobile width. No document-level overflow at 390 or 320 CSS pixels.
- Confirmed finite animation styles on the hero text, three cards, and path. Longest automatic motion: 3.5 seconds with 0.35-second delay; one iteration. Replay restarts the path and text reveal.
- Verified hero entry animation on the service and project-plan pages. Plan still renders 42 tasks; service page still renders five engagements.
- Re-ran a defined-build guide scenario: correct Implementation Sprints result, reason, alternative, and source remain present. Preparation checks and all 14 pure routing scenario tests still pass across 54 valid combinations.
- Refreshed the four prototype screenshot assets to show the restored palette. Baseline screenshots remain unchanged.
- Reduced-motion disabling is implemented in CSS and reviewed statically. A reduced-motion browser preference was not emulated in this session; full assistive-technology testing remains outstanding.

## Latest dark-mode and continuous-process refinement

- All four pages use a near-black background with bone text. Inspected computed dark surfaces on the service comparison, plan output cards, audit notice, and guide dialog/result.
- At 1280 × 720 CSS pixels, measured the homepage hero bottom at exactly 720px. All four hero destinations are inside the opening viewport. On a taller desktop viewport the hero grows to its full available height.
- At 390 × 844, all four route choices remain above the process graphic and visible in the opening view. The hero grows beyond one mobile viewport rather than clipping content. At 320px, all four routes render with no document-level horizontal overflow.
- Four hero destinations verified: local AI service page; official external product-development page; local Kinvia comparison; local organization-support anchor. Clicked the website-engagement route and verified `/services.html#kinvia`.
- The process path and three stage cards have a 12-second animation duration and `infinite` iteration count. Card phases begin at 0s, 4s, and 8s. All labels remain visible throughout.
- Pause sets both path and stage animation state to `paused`, updates the accessible label to Resume, and sets `aria-pressed=true`. Two separated observations showed the same path offset while paused. Resume restores `running` and `aria-pressed=false`.
- Reduced-motion disabling is implemented in CSS and statically reviewed; the OS preference was not emulated. The process additionally pauses when a dialog is open or the document is hidden. Full accessibility validation remains outstanding.
- The floating helper is hidden while the homepage hero is in view, preventing overlap with its navigation cards.
- Re-ran the defined-build guide flow; the correct Implementation Sprints result still includes reason, alternative, timing, and source. Preparation and pure-routing checks pass. Source screenshots remain unchanged; prototype screenshots now show dark mode.

## Cleaner six-stage journey refinement

- Replaced the winding SVG/cards with a semantic ordered list of six published process stages and one traveling marker. Inspected six rendered stages, an infinite 18-second traveler animation, and no document-level overflow in the initial desktop preview.
- Header drop computed border-radius and rotation match the observed CSS of the official Servant launcher drop. The logo link retains its accessible name and homepage destination.
- Added gentle ambient/heading motion and subtle route hover accents. Observed Pause changing the traveler, ambient pseudo-element, and headline animation state to `paused`, followed by Resume. The desktop hero ends at 720px in a 720px viewport. At 390px, six steps and the drop render without horizontal overflow. Reduced-motion rules explicitly disable motion; full assistive-technology validation is still pending.
- Source files pass preparation checks and all 14 pure-routing scenarios across 54 valid answer combinations. User research and business improvements remain unvalidated.

## User-requested three-path restoration (current)

- Restored the original winding curve and Understand / Create / Enable cards; removed the six-stage list. Changed animation, not the three-stage structure.
- Observed the red traveler running on its 12-second loop, Pause switching it to `paused`, and Resume returning it to `running`.
- Desktop and 390 × 844 mobile checks show three stages and no document-level horizontal overflow. Refreshed the two homepage evidence screenshots.
- Header now contains an upright red SVG teardrop, without the previous rotation. This is a concept rendering, not a verified official logo file.
- Preparation and routing tests pass. Reduced-motion rules are statically reviewed, not OS-emulated.

## Hero background and type-on update (current)

- Added CSS-only ambient red glows, an outlined orbit, and three small drifting accents behind the content; decorations are hidden from assistive technology and cannot intercept pointer input.
- Matched the local portfolio's character-by-character typing direction. Observed all 42 headline characters completing and remaining visible; the headline reserves its full space and has one complete accessible name rather than announcing each character.
- Mobile check at 390 × 844: complete headline and no document-level horizontal overflow. The existing Understand / Create / Enable structure and upright header drop remain intact.
- The shared Pause control freezes typing, background motion, and the process path; Resume continues them. Page visibility and modal state also pause motion. Reduced-motion behavior is implemented and statically checked, not OS-emulated.
- Preparation checks and 14 routing scenarios / 54 combinations pass. Motion is decorative, not a validated usability improvement.

## Full-bleed hero background correction (current)

- The ambient layer previously inherited the 1,180px centered content width. It now uses the measured document client width (excluding the scrollbar), centered independently behind the unchanged content layout.
- Removed desktop and mobile fade masks so the layer covers the hero from top to bottom. Mobile glows now span more of its height.
- At requested 1600 × 900 and 390 × 844 viewports, measured background bounds from x=0 to the document client width, matching the hero height, with no document-level horizontal overflow. Default desktop check passed too. Refreshed homepage evidence screenshots.
- Existing animations, shared pause rules, reduced-motion rules, text, and three-stage diagram are unchanged. Preparation and routing tests pass.

## Persistent caret and clearer route prompt (current)

- The completed headline retains a red cursor after the final period. Its slow blink shares the hero's Pause/Resume controls; Pause leaves a steady cursor visible. Reduced motion keeps a non-blinking cursor; that preference is statically reviewed, not OS-emulated.
- Centered “What are you looking for?” above the four routes, enlarged it to 20–25px, and placed the smaller “Choose your next step” instruction underneath.
- Default 1280 × 720 desktop check: hero ends at y=720 and navigation ends at y=708, so all four routes fit. At requested 390 × 844, the heading is 20px and centered, with no horizontal overflow. Tightened only short-desktop vertical spacing to accommodate the larger prompt.
- Original route destinations, three-path diagram, palette, and full-bleed background are preserved. Preparation checks and all routing tests pass. Clearer appearance is a design hypothesis, not validated first-time-user research.

## Verification commands

1. `node scripts/prepare.mjs`
2. `node scripts/test-rules.mjs`
3. `node scripts/serve.mjs`
4. Repeat the three task flows in the browser, then run the research/accessibility steps in the detailed plan.
