SEO / Portfolio / Public Site

LongTermSoftware.com Live Audit Report

Report summary

Generated UTC: 2026-06-17T01:49:40Z Target: https://longtermsoftware.com/ Audit mode: Non-invasive public-site review. No WordPress login, no live modifications, and no real lead-data submission.

Status
Research archive item
Category
SEO / Portfolio / Public Site
Length
10,411 words
Reading time
48 minutes
Report type
evaluation

Key topics

  • SEO / Portfolio / Public Site
  • SEO
  • Portfolio
  • Public Site
  • AI
  • UAIX
  • UAI
  • Agentic Web
  • WordPress

Research provenance

Archive status
Research archive item
Content identity
sha256:5bb7c9046c1a0865ed17c084e8a6c7a4866bfeb444c1c7efb65eceb246c74690

For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.

This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.

Full report

On this page

Generated UTC: 2026-06-17T01:49:40Z Target: https://longtermsoftware.com/ Audit mode: Non-invasive public-site review. No WordPress login, no live modifications, and no real lead-data submission.

Scope and evidence note

This report follows the uploaded audit brief and uses the live production site as the source of truth. Evidence was gathered through the web reader, local downloaded public artifacts, PDF extraction/rendering, and search-result checks. Direct browser screenshots, raw curl -I status-code checks, Lighthouse, axe, DevTools network inspection, and keyboard testing could not be completed because the active local container could not resolve longtermsoftware.com with curl or headless Chromium. The failure is preserved in logs/browser-network-limitation.log and referenced below. Findings are separated accordingly.

Evidence reference map

Evidence keyReference
home_nav_heroweb: turn708196view0 L4-L22, L26-L31, L390-L410
pricing_htmlweb: turn247632view0 L23-L173; turn247632view1 L175-L203; turn247632view2 L205-L216
contact_htmlweb: turn247632view3 L15-L83; turn515881view1 L14-L65
services_htmlweb: turn515881view0 L14-L207; turn171052view0 L15-L64; turn171052view1 L15-L63; turn171052view2 L15-L64; turn171052view3 L15-L65
proof_htmlweb: turn515881view2 L14-L188; turn254166view1 L14-L52; turn108578view5 L15-L129
resources_htmlweb: turn254166view2 L14-L61; turn254166view3 L63-L180; turn391058view0 L14-L208
diagnostic_htmlweb: turn108578view6 L14-L58
machine_htmlweb: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6
index_hygieneweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2
downloads_pdflocal: pricing-guide.pdf inspected/extracted/rendered; proof-ledger.csv downloaded; proof/service/proposal PDFs downloaded
tool_limitlocal log: /mnt/data/lts-audit-work/logs/browser-network-limitation.log

1. Executive Summary

The live site is substantially aligned with the expected public truth. The homepage presents the company as an enterprise software modernization and reviewed-AI consultancy, the primary navigation appears in the required order, the pricing ladder is visible and internally consistent across the HTML page and machine-readable assets, and the contact details match the expected Mike Kappel / mike@ns12.com / (708) 230-2304 / Cicero, IL truth.

The strongest live areas are pricing truth, claim boundaries, machine-readable readiness, and public proof discipline. The site avoids unsupported AI claims and repeatedly distinguishes templates, generated artifacts, and approved outcomes. This is a credible posture for compliance-conscious buyers and AI-agent/vendor-evaluation tools.

The highest-priority issues are not primarily content accuracy issues. They are verification and buyer-flow issues:

  1. Add real browser/CI evidence for the required screenshots, viewports, Lighthouse, axe, keyboard, and diagnostic network tests.
  2. Clean stale search-index results for Hello world!, /projects/, and old resume/recruiter /downloads/ snippets.
  3. Reduce overlap between Resources, Downloads, and Docs.
  4. Make first-touch contact and fit-call flow shorter and more accessible.
  5. Add diagnostic copy/export and a runtime privacy guard test.

Required Table A. Overall scorecard

AreaScore / 10EvidenceMain recommendation
Homepage / first impression8Hero and first-screen pricing/contact markers are clear; proof boundary language is present.Keep first-screen density; simplify later proof-library sections.
Header / nav / search8 provisionalExpected nav order and fit-call/search are present; responsive behavior unverified.Add Playwright header tests at all required widths.
Pricing truth9HTML, pricing JSON, llms, and AI manifest agree on core ladder.Keep Monthly/Annual visually default; test REST endpoints.
Contact / fit-call8Mike Kappel, email, phone, Cicero IL, privacy warning confirmed.Make short fit call primary; collapse detailed intake.
Services UX8Service ladder includes buyer fit, timelines, deliverables, pricing path, and proof links.Reduce text density and make proof links more specific.
Proof / case studies7Template/outcome boundaries are explicit; ledger is useful.Add approved public outcomes when available; strengthen buyer summaries.
Resources / downloads7Resource inventory is broad and useful.Separate Resources, Downloads, and Docs roles; clean stale SERP snippets.
Diagnostic7 provisionalLocal-only/no-model/no-secrets boundary is explicit.Add network guard, copy/export, and result CTA tests.
Machine-readable readiness8Manifest, route QA, llms, pricing JSON, proof/service JSON are current and aligned.Align version fields and verify all endpoints/static utility files.
Accessibility6 provisionalSkip link and semantic text are present; automated/keyboard/contrast testing unavailable.Run axe/keyboard/contrast/reflow tests in CI.
Responsive UX5 unknownRequired screenshots/viewports not captured due tool limitation.Add CI screenshot catalog and no-horizontal-scroll assertions.
SEO / index hygiene5Live pages are better than indexed snippets, but stale starter/recruiter results remain.Search Console cleanup and title/meta audit.
Performance / technical UX5 unknownLighthouse unavailable; payload/headers unknown.Run Lighthouse CI and asset budget checks.
Security / privacy6 unknownHTTPS pages loaded in web reader; diagnostic privacy copy strong; headers unverified.Add non-invasive header/security.txt/diagnostic network tests.
Content / messaging8Positioning is restrained, specialist, and avoids unsupported AI claims.Make buyer journey more prominent than proof infrastructure.

2. Current Live State vs Expected Site Truth

Expected truthConfirmed live stateEvidenceResult
Primary nav: Services, Proof, Industries, Resources, About, ContactConfirmed in extracted page header.web: turn708196view0 L4-L22, L26-L31, L390-L410Pass
Primary CTA emphasizes a fit callFit call appears in header and Book a 20-minute fit call appears in page/footer CTAs.web: turn708196view0 L4-L22, L26-L31, L390-L410Pass
Contact: Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, ILConfirmed on Contact, Fit-call, footer, llms, and AI manifest.web: turn247632view3 L15-L83; turn515881view1 L14-L65; web: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6Pass
Pricing ladder: $150 / $100 / $80 / $75 with stated commitmentsConfirmed on pricing HTML, pricing guide PDF, pricing-ladder JSON, llms, and AI manifest.web: turn247632view0 L23-L173; turn247632view1 L175-L203; turn247632view2 L205-L216; local: pricing-guide.pdf inspected/extracted/rendered; proof-ledger.csv downloaded; proof/service/proposal PDFs downloaded; web: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6Pass
Retainer hours non-accumulativeConfirmed in pricing HTML, pricing PDF, pricing-ladder JSON, and llms.web: turn247632view0 L23-L173; turn247632view1 L175-L203; turn247632view2 L205-L216; local: pricing-guide.pdf inspected/extracted/rendered; proof-ledger.csv downloaded; proof/service/proposal PDFs downloadedPass
Public proof/sample artifacts distinguish templates from approved outcomesConfirmed on Proof, Case Studies, and Sample Artifacts.web: turn515881view2 L14-L188; turn254166view1 L14-L52; turn108578view5 L15-L129Pass
Machine-readable files present and synchronizedMajor files confirmed; several utility/static files unverified due tool limits.web: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6Mostly pass; add CI checks
No unsupported AI/vendor/compliance claimsExplicit boundaries confirmed on home, machine-readable files, and diagnostic.web: turn708196view0 L4-L22, L26-L31, L390-L410; web: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6; web: turn108578view6 L14-L58Pass

3. Screenshot Catalog

No PNG screenshots were captured in this environment. The web reader provided live text evidence, but the screenshot tool available here only supports PDFs, and local Chromium could not resolve the production domain. The next theme-build QA run must capture the following files with a desktop browser or Playwright CI.

Expected filenameStatusReason/evidence
20260617T014940Z_home_1440x900_above-fold.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_home_1440x900_full-page.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_home_390x844_above-fold.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_home_390x844_full-page.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_header_1366x768_header.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_header_1024x768_header.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_header_768x1024_header.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_header_390x844_header.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_header_320x568_header.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_pricing_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_pricing_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_contact_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_contact_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_fit-call_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_fit-call_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_services_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_services_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_proof_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_proof_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_resources_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_resources_390x844_mobile.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_diagnostic_390x844_before-input.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_diagnostic_390x844_after-sample-input.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.
20260617T014940Z_machine-readable-evidence_1440x900_desktop.pngNot capturedLocal Chromium/curl DNS failure; web screenshot tool only screenshots PDFs in this environment.

Required Table B. Route audit table

RouteStatusRedirect?TitleH1Key markers foundIssues
/200 confirmed by web readerNoNot exposed by text extractionCorporate software architecture for systems that cannot drift when AI or modernization changes the stack.Expected nav; Fit call CTA; $150/hour; $2,000/month; mike@ns12.com; unsupported-claims boundaryViewport, screenshot, Lighthouse, axe not verified in local browser due DNS constraint.
/services/200 confirmed by web readerNoNot exposed by text extractionAI Consulting ServicesSeven services; buyer fit; timelines; pricing path; proof links; fit-call CTAsCards are comprehensive but text-heavy. Need viewport verification for card density.
/pricing/200 confirmed by web readerNoNot exposed by text extractionPricing for architecture help, modernization, and AI governance$150 ad-hoc; $100/monthly; $80/annual; $75 C2C; non-accumulative retainer language; recommended buyer pathStrong truth consistency. Need mobile overflow and visual hierarchy verification.
/contact/200 confirmed by web readerNoNot exposed by text extractionContact LongTermSoftware.comMike Kappel; mike@ns12.com; (708) 230-2304; Cicero, IL; privacy warning; detailed assessment intakeDetailed intake may be too long for first touch; label/error accessibility not verified.
/fit-call/200 confirmed by web readerNoNot exposed by text extractionRequest a Fit Call20-minute fit-call path; direct email/call; short form; privacy warningForm labels/focus/error states not verified. Confirm short form is visually primary.
/proof/200 confirmed by web readerNoNot exposed by text extractionClaim-to-Evidence LedgerClaim ledger; status key; machine-readable evidence linksUseful for procurement/AI readers; needs stronger buyer-readable outcome summaries.
/case-studies/200 confirmed by web readerNoNot exposed by text extractionCase Study PathsPublic-safe templates; paths for modernization, AI documentation, RAG, reliabilityTemplate-vs-outcome boundary is clear but social proof remains limited.
/resources/200 confirmed by web readerNoNot exposed by text extractionResources and buyer enablementBuyer-stage resource grouping; checklist/download links; diagnostic/sample artifactsSome duplicate resource cards; docs/downloads/resources overlap.
/downloads/200 confirmed by web readerNoNot exposed by text extractionDownloads and Buyer ChecklistsPricing guide; proof packet; service one-pagers; proposal packet; proof ledger; event taxonomyLive page is buyer-facing, but search snippets still show old resume/recruiter signals.
/docs/200 confirmed by web readerNoNot exposed by text extractionDocs / Long-Term MemoryResource-style cards and docs linksContent appears substantially duplicated from Resources; purpose of Docs is ambiguous.
/process/200 confirmed by web readerNoNot exposed by text extractionProcess: Assess, Map, Pilot, Integrate, GovernDelivery sequence; reviewable artifacts; fit-call CTASolid process framing; add proof links per phase.
/about/200 confirmed by web readerNoNot exposed by text extractionAbout LongTermSoftware.comLongTermSoftware/MikeKappel/Teleodynamic brand architecture; fit-call CTABrand-triad explanation may be too internal for buyer-first About page.
/faq/Not verifiedUnknownUnknownUnknownExpected in route QA contractWeb reader safety restriction prevented direct verification.
/industries/200 confirmed by web readerNoNot exposed by text extractionIndustries and use casesIndustry blocks for regulated/brittle systemsAdd industry-specific proof/CTA links.
/personas/Not verifiedUnknownUnknownUnknownExpected in route QA contractWeb reader safety restriction prevented direct verification.
/standards-alignment/Not verifiedUnknownUnknownUnknownExpected in route QA contractWeb reader safety restriction prevented direct verification.
/machine-readable-evidence/200 confirmed by web readerNoNot exposed by text extractionMachine-Readable EvidenceRead-only/no authority/certification; llms; manifest; route QA; proof/service JSON/CSVGood AI-agent readiness. Keep human-facing placement subdued.
/sample-artifacts/200 confirmed by web readerNoNot exposed by text extractionSample Artifact LibraryTemplates, not outcomes; approval boundary; service-specific artifactsBoundary is clear; add approved outcomes only when human-approved.
/diagnose-system/200 confirmed by web readerNoNot exposed by text extractionBrowser-Local System DiagnosticNo data leaves browser; no model call; safe sample input; sample output; fit-call CTANetwork privacy not verified in DevTools; no copy/export result evident in extracted text.
/services/ai-and-modernization-assessment/200 confirmed by web readerNoNot exposed by text extractionAI and Modernization AssessmentFit, timeline, deliverables, boundaries, sample artifactVerify fixed-scope posture does not undercut retainer ladder on mobile cards.
/services/net-sql-modernization-blueprint/200 confirmed by web readerNoNot exposed by text extraction.NET / SQL Modernization BlueprintLegacy .NET/SQL focus; parity deliverables; pricing ladderGood specialist fit; add more direct proof link labels.
/services/human-reviewed-ai-workflow-accelerator/200 confirmed by web readerNoNot exposed by text extractionHuman-Reviewed AI Workflow AcceleratorReview gates; prompt contracts; workflow boundariesKeep claims non-autonomous; add screenshot-level workflow sample if possible.
/services/governed-knowledge-rag-foundation/200 confirmed by web readerNoNot exposed by text extractionGoverned Knowledge / RAG FoundationSource boundaries; metadata; trust labels; review statesAdd plain-language RAG explanation for non-specialist buyers.
/services/ai-reviewer-app-mvp/200 confirmed by web readerNoNot exposed by text extractionAI Reviewer App MVPPackage exists in live service schema and route setPage text not line-inspected; verify detail-page markers visually.
/services/ai-evaluation-and-reliability-program/200 confirmed by web readerNoNot exposed by text extractionAI Evaluation and Reliability ProgramPackage exists in live service schema and route setPage text not line-inspected; verify detail-page markers visually.
/services/fractional-ai-modernization-architect/200 confirmed by web readerNoNot exposed by text extractionFractional AI / Modernization ArchitectPackage exists in live service schema and route setConfirm C2C/embedded support remains limited availability and not default.
/hello-world/Redirect confirmed by web readerYes -> /Not exposed by text extractionHomepage final contentFinal page is homepageStill appears in Google results with starter-content snippet.
/projects/Redirect confirmed by web readerYes -> /proof/Not exposed by text extractionProof final contentFinal page is proof ledgerStill appears in Google results as stale URL.
/sample-page/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/projects-and-proof/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/evidence/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/cases/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/ai/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/ai-systems/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/governance/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test.
/blog/Not verifiedExpectedUnknownUnknownExpected redirect in route QA contractNeeds CI redirect test and search-index cleanup.
/llms.txt200 downloaded locallyNon/an/aVersion 1.18.0; generated UTC; pricing; contact; unsupported claim boundaryMatches expected pricing/contact. Verify content-type in CI.
/ai-agent-manifest.json200 confirmed by web readerNon/an/aVersion 1.18.0; contact; pricing; routes; boundariesGood. Add schema validation test.
/route-qa-contract.json200 confirmed by web readerNon/an/aExpected routes, redirects, forbidden dependencies, unsupported claim checksExtend with viewport, Lighthouse, axe, diagnostic network guards.
/downloads/longtermsoftware-pricing-guide.pdf200 downloaded locally; PDF inspectedNoPDF metadata title not setn/aPricing ladder; non-accumulative rule; boundariesPDF likely untagged and uses non-embedded Helvetica; add accessible HTML equivalent/tagged PDF.
/downloads/proof-ledger.csv200 downloaded locallyNon/an/aClaim/proof/status/route/boundary rowsGood; add CSV schema test.
/wp-json/lts/v1/service-package-schema200 confirmed by web readerNon/an/aVersion 1.18.0; package details; pricing pathsGood. Other REST endpoints not verified by web reader.
  • No confirmed broken internal link was found from the web-reader extractions.
  • Confirmed redirect behavior exists for /hello-world/ to the homepage and /projects/ to /proof/, but search results still expose stale URLs/snippets.
  • Many old aliases and utility files need CI HEAD/GET verification because direct local browser/curl checks were unavailable.

5. Homepage and First Impression Review

Confirmed live strengths

  • The hero explains the company quickly: modernization and AI for systems that cannot tolerate behavioral drift.
  • The technology fit is explicit: .NET, SQL Server, Web Forms, Classic ASP, VB.NET, and stored-procedure-heavy systems.
  • Above-the-fold trust and buyer-path signals are present: ad-hoc entry price, monthly advisory price, and direct contact.
  • Unsupported claim boundaries are visible later on the page, including no AGI/consciousness/safety certification/vendor partnership/autonomous production authority claims.

First-impression risk

The first screen is now sales-oriented enough to be credible. The risk is that lower sections still behave like a technical proof library rather than a conversion path. That is not a fatal problem for this brand, but it should be controlled: buyers should move from problem -> proof -> service -> fit call, not problem -> machine-readable proof archive.

Proposed homepage section order

  1. Hero: pain + fit + CTA + direct proof markers.
  2. Buyer problem strip: legacy drift, stored procedures, unsafe AI, undocumented rules.
  3. Entry paths: Ad-hoc, Monthly Advisory, Annual Modernization, limited C2C.
  4. Service chooser: seven service cards with one-line fit and next CTA.
  5. Proof ledger preview: 3-4 proof cards, each marked template/outcome/status.
  6. Browser-local diagnostic: privacy-first triage tool.
  7. Contact/fit call: short form + direct phone/email.
  8. Machine-readable evidence: subdued footer-level technical proof.

6. Header, Navigation, and Search Review

Confirmed

  • Header navigation text appears as Services, Proof, Industries, Resources, About, Contact.
  • Search appears with text equivalent Search LongTermSoftware.com Search.
  • Fit call is present in the header.
  • A skip link appears before header content in extracted pages.

Not verified

  • Header wrapping at 1366, 1280, 1024, 768, 390, 375, and 320 CSS px.
  • Mobile menu open/close behavior.
  • Keyboard focus order and Escape behavior.
  • Tap-target sizing and focus-visible contrast.
  • Use a container-query or breakpoint where search collapses before nav wraps.
  • Keep the fit-call CTA visible until the mobile menu state, then keep it as the first action inside the opened menu.
  • Add aria-label="Primary navigation", a labeled search input, and an aria-expanded menu button.
  • Set a route QA assertion: document.documentElement.scrollWidth <= window.innerWidth for all required widths.

7. Pricing Page Review

Required Table D. Pricing consistency table

SourceAd-hocMonthlyAnnualC2CNon-accumulative languageMismatch
HTML pricing page$150/hour; no minimum$100/hour; 20-hour monthly minimum; $2,000/month$80/hour; 40-hour monthly minimum; $3,200/month; annual contract$75/hour; 40 hours/week; six-month minimum; limited availabilityConfirmed: unused hours expire/do not roll over/bank/accrue/carry forward unless order form says otherwiseNone confirmed
pricing-ladder.jsonMatchesMatchesMatchesMatchesMatches; reserved monthly capacity language presentNone confirmed
service-packages.jsonPricing path references flexible entryPricing path references monthly advisoryPricing path references annual modernizationEmbedded/fractional package constrained by fit/availabilityNot the primary ladder sourceNo contradiction confirmed; not a full ladder mirror
REST pricingNot verifiedNot verifiedNot verifiedNot verifiedNot verifiedWeb reader safety restriction; add CI GET
REST pricing-consistencyNot verifiedNot verifiedNot verifiedNot verifiedNot verifiedWeb reader safety restriction; add CI GET
llms.txtMatchesMatchesMatchesMatchesMatchesNone confirmed
AI manifestMatchesMatchesMatchesMatchesMatchesNone confirmed
FAQNot verifiedNot verifiedNot verifiedNot verifiedNot verifiedDirect FAQ route not accessible through web reader; test in CI

Assessment

The pricing page is one of the strongest parts of the site. The four-tier ladder is clear, and the non-accumulative retainer language is explicit enough for procurement and AI readers. Monthly Advisory is correctly framed as the practical continuity/default option, Annual Modernization as protected calendar capacity, and Embedded Architect C2C as limited availability rather than the default.

Implementation refinements

  • On mobile, keep each card’s tier name, rate, commitment, and CTA visible without excessive scrolling.
  • Use consistent CTA labels:
  • Ad-hoc: Request focused architecture help
  • Monthly: Discuss monthly advisory fit
  • Annual: Discuss modernization capacity
  • C2C: Check embedded architect availability
  • Keep the aria-label more descriptive than the visible CTA where shortening is needed.

8. Contact and Fit-Call Review

Required Table E. Contact consistency table

SourceEmailPhoneLocationFounder/profileMismatch
Contact pagemike@ns12.com(708) 230-2304Cicero, ILMike Kappel / Principal contactNone confirmed
Fit-call pagemike@ns12.com(708) 230-2304Cicero, ILMike KappelNone confirmed
Footermike@ns12.com(708) 230-2304Cicero, ILLongTermSoftware.comNone confirmed
SchemaNot verifiedNot verifiedNot verifiedNot verifiedNeeds structured-data extraction test
AI manifestmike@ns12.com(708) 230-2304Cicero, ILMichael/Mike KappelNone confirmed
llms.txtmike@ns12.com(708) 230-2304Cicero, ILMichael Kappel / Mike KappelNone confirmed
REST contact-profileNot verifiedNot verifiedNot verifiedNot verifiedWeb reader safety restriction; add CI GET

Confirmed

  • Contact and fit-call pages show Mike Kappel, mike@ns12.com, (708) 230-2304, and Cicero, IL.
  • Phone/email actions are present as visible contact options.
  • Privacy warning is visible: the site tells users not to paste secrets, private source code, PHI, credentials, or confidential data.

UX issues

  • The contact page includes a detailed assessment intake. This is useful but likely too heavy as a default first-touch path.
  • Form label/error behavior could not be verified.
  • Confirmation path could not be safely tested without submitting data.

Field-level recommendations

Field / elementRecommendation
NameRequired; autocomplete name; accessible error if blank.
EmailRequired; autocomplete email; validate format client and server side.
CompanyOptional; autocomplete organization.
RoleOptional select or short text; helps qualify CTO/CIO/engineering/procurement.
System summaryOptional; include warning: Use sanitized summaries only.
Timeline / urgencyOptional select; useful for triage.
Budget / engagement pathOptional select aligned to pricing ladder.
SubmitRequest fit call; disable only during submission; show accessible confirmation.

9. Services UX Review

ServiceConfirmed live strengthsIssuesFix
AI and Modernization AssessmentClear fit, timeline, deliverables, sample artifact, pricing path.Detail page may still read like fixed-scope service if pricing ladder is below fold.Keep ladder teaser and start small CTA near top.
.NET / SQL Modernization BlueprintStrong match to legacy .NET/SQL buyer pain.Needs more direct proof route labels.Link to parity proof and modernization risk review with specific link text.
Human-Reviewed AI Workflow AcceleratorGood review-first positioning and workflow boundary.Could use clearer visual sample of review states.Add a small process diagram and screenshot-style sample.
Governed Knowledge / RAG FoundationStrong source-bound and governed knowledge positioning.RAG term may be opaque to some executives.Add one sentence: RAG means answers must cite approved sources, not freewheel from memory.
AI Reviewer App MVPPackage exists in schema/route set.Detail-page text not fully inspected line-by-line.Verify service-card markers and mobile layout in Playwright.
AI Evaluation and Reliability ProgramPackage exists in schema/route set.Ensure it does not imply safety certification.Keep evaluation support is not certification boundary visible.
Fractional AI / Modernization ArchitectPackage exists and matches embedded/retainer ladder.C2C must remain limited availability.Keep C2C visually secondary to Monthly/Annual.
  1. Service name.
  2. Buyer problem in one sentence.
  3. Best fit.
  4. Timeline.
  5. Pricing path.
  6. Deliverables.
  7. Proof/sample link with explicit status.
  8. CTA: Discuss this path.

10. Proof, Case Studies, and Sample Artifacts Review

Proof maturity assessment

The proof system is more mature than typical small consultancy sites. It has a claim-to-evidence ledger, machine-readable assets, status labels, route QA, and explicit unsupported-claim boundaries. That is a differentiator for procurement, technical reviewers, and AI vendor-evaluation tools.

Template-vs-outcome boundary

The boundary is clear: sample artifacts are marked as templates, generated artifacts require human review, and approved client outcomes require approval. This should remain non-negotiable in the next theme package.

Top 5 proof improvements

  1. Add a buyer relevance line to each proof card.
  2. Add template, generated draft, approved public outcome, or machine-readable evidence badges using buyer-friendly text.
  3. Add a short why this matters paragraph to each case-study path.
  4. Add one approved outcome or testimonial only after human/client approval.
  5. Add proof-to-service cross-links so each service card has specific evidence.
FieldExample
ClaimWe preserve legacy behavior during modernization.
Evidence typePublic-ready template
StatusTemplate — not a client outcome
Buyer relevanceUse this to see how parity risk is mapped before rewriting.
Proof route/proof/legacy-modernization-parity/
BoundaryClient-specific code, data, and metrics require private review.

11. Resources and Downloads Review

Resource inventory

ResourceTypeBuyer stageIssue/Fix
AI Readiness ChecklistPDF + JSON / checklistExploreGood entry resource; avoid duplicate card repetition across Resources/Downloads.
Browser-Local System DiagnosticHTML local toolDiagnoseAdd copy/export and network privacy test.
Modernization Risk ReviewPDF + JSON / checklistValidate riskStrong fit for SQL/Web Forms buyers; link it from modernization service detail pages.
Proposal Template PacketPDF + HTMLShare internallyUseful buyer enablement; make template boundary explicit on landing page.
Pricing GuidePDF + HTML/JSONBudgetPricing content is correct; improve PDF accessibility.
Service One-PagersPDFCompare servicesAdd HTML landing page and service-specific proof links.
Proof PacketPDF + HTMLProcurement/proofGood; add approved outcomes when available.
Proof Ledger JSON/CSVMachine-readable evidenceTechnical/vendor reviewGood; align versioning and schema tests.
Service Packages JSONMachine-readable service schemaAI-agent/vendor reviewGood; cross-check pricing paths in CI.
Conversion Event TaxonomyJSON taxonomy onlyMeasurement planningGood privacy posture; keep no-runtime analytics statement.

Observations

  • Live Resources and Downloads pages are buyer-facing and useful.
  • The current overlap between Resources, Downloads, and Docs creates taxonomy friction.
  • Search snippets still suggest old recruiter/resume content on /downloads/, despite live page content being buyer-facing.
SectionPurposeContent
ResourcesBuyer enablement by decision stageChecklists, diagnostic, explainers, proposal packet.
DownloadsFile indexPDFs, JSON, CSV, one-pagers, pricing guide.
DocsTechnical contract referenceRoute QA, schema docs, public memory boundaries, changelog, machine-readable file contracts.

12. Browser-Local Diagnostic Review

Confirmed from live page text

  • It says it runs as local keyword matching.
  • It says no data leaves the browser.
  • It says no model call is made.
  • It warns users not to paste secrets, credentials, source code, PHI, or confidential data.
  • It includes example/sample diagnostic text and maps to next steps.

Not verified

  • DevTools Network evidence after entering the required safe sample input.
  • Whether typed input appears in request bodies, query strings, local storage, analytics, or logs.
  • Whether result copy/export is present and usable.
  • Whether the result is announced to screen readers.

Recommendations

  1. Add a Copy sanitized result button after local analysis.
  2. Add a Use this in fit-call request CTA, but do not auto-submit or transmit diagnostic text.
  3. Add a route QA network test:
  • Visit /diagnose-system/.
  • Enter the safe sample input.
  • Click run.
  • Assert no POST occurs.
  • Assert no request URL/body/header contains diagnostic text fragments.
  1. Add aria-live="polite" to the result region.
  2. Track diagnostic_start, diagnostic_complete_local, and diagnostic_result_cta_click without raw input.

13. Machine-Readable UX and AI-Agent Readiness

AssetReachabilityVersion/currentnessPricing/contact matchClaims boundaryFix
/llms.txt200 downloaded locally1.18.0, generated 2026-06-17T02:25:00ZMatchesExplicit no AGI/certification/authority/etc.Add content-type CI check.
/ai-agent-manifest.json200 via web reader1.18.0MatchesExplicitValidate against schema in CI.
/route-qa-contract.json200 via web reader1.18.0, generated UTC presentContains expected route/claim testsForbidden claim checks presentExtend to screenshots/Lighthouse/axe/network.
/downloads/pricing-ladder.json200 via web reader1.18.0Pricing matches HTMLBoundary notes presentNo mismatch; add schema test.
/downloads/service-packages.json200 via web reader1.18.0Package pricing paths consistentService boundaries presentUse as service-card data source.
/downloads/proof-ledger.json200 via web reader1.7.0, generated 2026-06-15Not a pricing fileStatuses/boundaries presentClarify version vs data_version.
/downloads/proof-ledger.csv200 downloaded locallyCSV rows match proof-ledger themesNot a pricing fileBoundary column presentAdd CSV column/schema test.
/downloads/conversion-event-taxonomy.json200 via web reader1.7.0n/aNo-runtime analytics statementKeep privacy-safe implementation.
/wp-json/lts/v1/service-package-schema200 via web reader1.18.0Service paths consistentService boundaries presentGood; test all REST endpoints.
/llms-full.txt, /.well-known/ai-plugin.json, /.well-known/security.txt, /robots.txt, /sitemap.xmlNot verifiedUnknownUnknownUnknownAdd mandatory utility-file CI checks.

Exact mismatches

  • No content contradiction was confirmed between pricing HTML, pricing-ladder.json, llms.txt, and AI manifest.
  • The main mismatch risk is version perception: proof-ledger JSON uses 1.7.0 while the site/manifest/route QA assets use 1.18.0. That may be valid if it is a data/schema version, but the public files should make that distinction explicit.
  • Several static utility files and REST endpoints remain unverified in this run and must be tested by CI.

14. Accessibility Review

Required Table F. Accessibility table

Accessibility AreaStatusEvidenceRiskRecommendation
Skip linkConfirmed present in extracted HTMLEvery major page extraction starts with "Skip to content"Low if focus-visible and target behavior work; not keyboard-testedKeep skip link first in DOM; ensure it becomes visible on focus and lands on main content.
Semantic landmarksPartially confirmedHeader/nav/footer content is extracted consistentlyUnknown landmark role quality without DOM inspectionUse <header>, <nav aria-label="Primary">, <main id="content">, <footer>; add landmark test.
Heading hierarchyMostly positive in text extractionPages expose a clear H1 and section H2sRepeated card H2s could create long heading listsKeep one H1 per page; use H3 for card titles under section H2 when appropriate.
Primary nav/menuContent confirmed; operability not verifiedNav order is stable and conventional in extracted contentMobile menu/keyboard trap cannot be excludedAdd Playwright keyboard tests for menu open/close, Escape, focus return, and no off-screen tab stops.
SearchAccessible name likely present, but duplicate text observedExtraction shows "Search LongTermSoftware.com Search"Screen readers may hear redundant label/button textUse a visible/aria label on the input and a distinct submit label; avoid duplicate name text.
CTA focus statesNot verifiedLocal browser could not load siteKeyboard users may lose focus positionSet strong :focus-visible outlines on nav, cards, forms, and CTAs; test against WCAG non-text contrast.
FormsLabels/error states not verifiedContact and fit-call fields appear in extraction; no safe submit was performedAssistive tech and validation failures may be unclearAssociate every input with <label>; add aria-describedby for help/error; render accessible error summary.
Diagnostic inputTextual boundary confirmed; runtime not verifiedDiagnostic page says no data leaves browser and no model callPrivacy and accessibility claims depend on JS implementationAdd copy/export button, live-region result announcement, and automated network guard.
Link purposeGenerally strongDownload links are mostly descriptive, e.g., "Download Pricing Guide", "View Proof Ledger CSV"Repeated generic JSON labels can be noisyUse resource-specific link text and aria-labels, e.g., "View pricing ladder JSON".
Images and alt textPartially positiveWeb reader surfaced meaningful image descriptions on Resources/DownloadsDecorative vs informative handling unverifiedUse empty alt for decorative art; descriptive alt only where image contributes meaning.
ContrastNot verifiedNo screenshot/color inspection possibleUnknown WCAG 2.1 AA complianceRun axe/Lighthouse/Playwright contrast checks and manual review for text and non-text contrast.
Reflow at 320pxNot verifiedNo mobile browser screenshots due DNS limitationHeader/search/CTA/card overflow could block mobile buyersAdd no-horizontal-scroll test at 320, 375, 390, 768, 1024, 1280, 1366, 1440 widths.
PDF accessibilityRisk confirmedPricing PDF uses ReportLab and non-embedded Helvetica; no form/annotation structure observedUntagged PDFs and non-embedded fonts reduce accessibility/portabilityProvide HTML equivalents for all PDFs; generate tagged PDFs or add PDF/UA workflow if PDFs remain primary.

Automated findings

No automated axe/Lighthouse/WAVE result is available from this run because local browser access failed. Do not treat the accessibility score as complete.

Manual findings

Manual text extraction suggests good baseline structure: skip links, clear H1s, descriptive CTAs, descriptive download links, and explicit privacy/boundary text. The main remaining risks are interactive: menu, search, form errors, diagnostic result update, focus state, contrast, touch targets, and reflow.


15. Mobile and Responsive UX Review

Required Table C. Viewport table

RouteViewportHeader OKNo horizontal scrollCTA visibleMain issue
/1440x900Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/1366x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/1280x800Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/1024x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/768x1024Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/390x844Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/375x667Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/320x568Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/1440x900Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/1366x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/1280x800Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/1024x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/768x1024Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/390x844Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/375x667Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/pricing/320x568Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/1440x900Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/1366x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/1280x800Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/1024x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/768x1024Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/390x844Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/375x667Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/contact/320x568Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/1440x900Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/1366x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/1280x800Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/1024x768Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/768x1024Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/390x844Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/375x667Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.
/fit-call/320x568Not verified; text extraction confirms nav existsNot verifiedNot verified; CTA text exists in HTML extractionLocal Chromium/curl DNS failure prevented viewport rendering; add Playwright screenshot test.

_The full viewport matrix is included in viewport-audit.csv inside the artifact package._

Required acceptance checks for next run

  • Header does not wrap at 1366, 1280, 1024, 768.
  • Logo remains visible and proportional.
  • Search collapses or reflows before creating overflow.
  • CTA remains visible or appears as first item in mobile menu.
  • Cards remain readable at 390, 375, and 320 widths.
  • No horizontal scroll at 320 CSS px.
  • Forms remain usable with zoom and text resize.

16. SEO and Index Hygiene

SEO defect table

DefectEvidenceRiskRecommendation
Stale Hello world! result remains indexedweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2Starter-content snippet harms credibility.Keep redirect or return 410; remove from sitemap; use Search Console removal/recrawl.
/projects/ remains visible as stale routeweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2Search result may bypass current proof taxonomy.Ensure 301 to /proof/, canonical proof URL, no internal links to old route.
/downloads/ snippets mention old resume/recruiter contentweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2Confuses target audience and buyer intent.Rewrite title/meta, clear caches, confirm no old content in template, recrawl.
Titles/meta not extracted from live HTML readerWeb reader did not expose <title>/meta descriptionsMissing precise title QA.Add HTML parser test in route QA to capture title, meta description, canonical, robots.
Sitemap/robots not verifiedTool limitsUnknown crawl hygiene.CI GET /robots.txt and /sitemap.xml; compare sitemap to expected routes.
RouteRecommended titleRecommended meta description
/`LongTermSoftware.com.NET, SQL, and Reviewed AI Modernization`
/pricing/`PricingLongTermSoftware.com Architecture Help and Modernization Retainers`
/contact/`Contact Mike KappelLongTermSoftware.com`
/services/`AI and Modernization Consulting ServicesLongTermSoftware.com`
/proof/`Proof LedgerLongTermSoftware.com`
/downloads/`Downloads and Buyer ChecklistsLongTermSoftware.com`
/docs/`Technical Evidence and Public MemoryLongTermSoftware.com`

17. Performance and Technical UX

Performance summary

Lighthouse and page-weight metrics are unavailable from this run. Do not infer performance scores from text extraction.

Required next-run metrics

RouteModeRequired output
/mobile + desktopPerformance, Accessibility, Best Practices, SEO, LCP, TBT, CLS, total bytes, largest image, render-blocking resources.
/pricing/mobileSame metrics plus card layout screenshot.
/contact/mobileSame metrics plus form usability screenshot.
/diagnose-system/mobileSame metrics plus JS payload and network privacy checks.

Likely optimization areas to inspect

  • Hero and illustration image dimensions and compression.
  • Render-blocking WordPress CSS/JS.
  • Font loading and font-display behavior.
  • Unused CSS from theme scaffolding.
  • Lazy loading for below-the-fold illustrations.
  • Cache headers for JSON, CSV, PDFs, images, CSS, and JS.

18. Security and Privacy

Quick-risk table

AreaStatusRiskRecommendation
HTTPSWeb reader loaded HTTPS pagesBasic HTTPS reachable, but HSTS not verifiedAdd header audit for HSTS and redirects.
Mixed contentNot verifiedImages/scripts could degrade securityAdd browser console/network mixed-content test.
Security headersNot verifiedMissing CSP/Referrer/Permissions/XCTO unknownAdd non-invasive curl header test.
security.txtNot verifiedSecurity contact may be missing/staleValidate /.well-known/security.txt status, content type, Contact, Expires.
Diagnostic privacyCopy strong; runtime not verifiedLocal-only claim must be provenAdd network guard test and avoid analytics payloads.
FormsNot submitted/testedSpam/nonce/accessibility behavior unknownVerify nonce, honeypot/rate limit, accessible error handling.
Sensitive-data promptsStrong warning presentLow if warning remains visibleKeep warning on forms and diagnostic.
WordPress version leakageNot verifiedCould expose target surfaceAdd passive HTML/header scan; do not perform invasive testing.

19. Content and Messaging

Strong copy examples

  • Corporate software architecture for systems that cannot drift when AI or modernization changes the stack.
  • No data leaves your browser. No model call is made from this page.
  • Retainer hours must be used in the calendar month where they are reserved.
  • Evaluation support is not safety certification.

Weak or risky copy examples

Current textRecommended textReason
Corporate software architecture for systems that cannot drift when AI or modernization changes the stack.Modernize .NET and SQL systems without breaking the behavior the business already relies on.Keeps the behavioral-drift differentiator but uses simpler buyer-facing language.
LongTermSoftware.com helps legacy .NET, SQL Server, Web Forms, Classic ASP, VB.NET, and stored-procedure-heavy systems move forward through behavior-preserving modernization, human-reviewed AI workflows, and source-bound documentation practices.I help teams preserve legacy behavior, document source-bound decisions, and introduce reviewed AI workflows where the risk is understood.Shorter above-the-fold subhead; reduces technology list density while preserving fit.
generated-needs-human-reviewGenerated draft — human review requiredMore understandable to buyers while retaining machine-readable status behind the scenes.
Docs / Long-Term MemoryTechnical Evidence and Public MemoryClarifies the purpose of /docs/ and distinguishes it from Resources.
MikeKappel.com is the proof library; Teleodynamic.com is the methods and governance layer.LongTermSoftware is the consulting front door. MikeKappel.com and Teleodynamic.com provide supporting proof and methods; the accountable contact is Mike Kappel.Reduces brand-architecture confusion and establishes accountability first.
No data leaves your browser. No model call is made from this page. Do not paste secrets, credentials, private source code, PHI, or confidential client data.Runs locally in your browser. Paste only sanitized summaries. This tool does not call an AI model or submit your text to the server.Slightly clearer privacy claim and user instruction.
Start with a short fit call, then scope only what evidence supports.Start with a 20-minute fit call. Scope only the next useful step after the risk is clear.Keeps the evidence-led stance and makes the CTA more direct.
Reserved capacityReserved calendar capacity — unused hours expire at month end unless a signed order form says otherwise.Plain-English explanation of non-accumulative retainers.

20. Severity-Ranked Findings

Required Table G. Severity findings table

#IssueSeverityEvidenceAffected usersBusiness impactRecommended fixEstimated effortExpected UX impact
1Required screenshot, Lighthouse, axe, curl header, and live viewport checks could not run in the local browser/container because DNS resolution failed.Highlocal log: /mnt/data/lts-audit-work/logs/browser-network-limitation.logAll buyers on unverified viewports/devicesResponsive, performance, and accessibility regressions could ship undetected.Add Playwright/Lighthouse/axe CI in an environment with outbound DNS; keep artifacts in build output.MHigh
2Google still shows a stale /hello-world/ starter-content result even though the live URL redirects.Highweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2Search visitors and procurement researchersWordPress starter-content snippet undermines credibility.Keep 301 to home or 410 if appropriate; remove from sitemap; request reindex/removal in Search Console; add route QA check.SHigh
3Search snippets for /downloads/ still reference old resume/recruiter content.Highweb search: turn234342search0, turn234342search1, turn234342search2; live redirects: turn225787view0, turn225787view2Search visitors, vendor evaluators, automated agentsConfuses enterprise consultancy positioning and may reduce trust.Update title/meta/descriptions; confirm no old content in template; submit URL for recrawl; monitor Search Console.S-MHigh
4/docs/ appears to duplicate Resources-style content rather than functioning as a distinct technical documentation hub.Mediumweb: turn254166view4/5; compared with turn254166view2/3Technical reviewers and AI agentsReduces clarity and creates redundant pages.Rebuild /docs/ around route QA, schema, public memory boundaries, changelog, and file contract docs.MMedium
5Contact page exposes both direct contact and a detailed assessment intake; first touch may still feel long.Mediumweb: turn247632view3 L15-L83; turn515881view1 L14-L65CTOs/CIOs doing quick vendor fit checksLong forms can suppress qualified first-contact conversion.Make direct contact + short fit call primary; collapse detailed assessment behind "Add details" progressive disclosure.S-MMedium-High
6Form label, help text, accessible error, and confirmation behavior were not verified.Mediumweb: turn247632view3 L15-L83; turn515881view1 L14-L65Keyboard and assistive technology users; all form users on validation errorsForm abandonment and accessibility risk.Add label/aria-describedby/error-summary tests; do not submit real leads in tests.MMedium
7Diagnostic local-only privacy claim is clear in copy, but DevTools network verification was not possible.Mediumweb: turn108578view6 L14-L58; local log: /mnt/data/lts-audit-work/logs/browser-network-limitation.logPrivacy-conscious enterprise buyersA central privacy claim remains unverified at runtime.Add network interception test asserting sample input never appears in URL/body/headers and no POST is made.MHigh
8Diagnostic result copy/export action is not evident in extracted page text.Mediumweb: turn108578view6 L14-L58Buyers who want to share triage output internallyReduced conversion from diagnostic to fit call.Add "Copy sanitized result" and "Use this in fit-call request" buttons; track only button events, not pasted text.SMedium
9Machine-readable versions differ: main site/manifest/route QA report 1.18.0 while proof-ledger JSON reports 1.7.0.Mediumweb: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6AI agents, procurement reviewers, QA automationMay look stale or inconsistent even if data is valid.Use explicit schema_version/data_version fields or align versioning across public truth assets.SMedium
10REST pricing/contact/consistency endpoints were not verified by the web reader.Mediumweb reader safety restrictions on several /wp-json/lts/v1/* routesAI readers and QA agents relying on JSON truthPotential mismatch could go unnoticed.Add CI GET/status/schema/content validation for every public REST endpoint.S-MMedium
11Header includes logo, six nav links, search, and fit-call CTA; responsive wrapping could not be verified.Mediumweb: turn708196view0 L4-L22, L26-L31, L390-L410; local log: /mnt/data/lts-audit-work/logs/browser-network-limitation.logTablet/laptop/mobile usersHeader overflow or wrapped CTA can reduce navigation and conversion.Use CSS container rules and test at 1440,1366,1280,1024,768,390,375,320.MHigh
12Homepage is strong above the fold but may still read like a proof/technical library after initial buyer path sections.Mediumweb: turn708196view0 L4-L22, L26-L31, L390-L410Executive buyers with limited timeLower top-of-funnel conversion if sales narrative becomes too dense.Keep first-screen value; shorten midpage proof sections; move deep machine-readable content lower or to /proof/.MMedium
13Some extracted card text runs together without visible separators, e.g., proof/status labels adjacent to descriptions.Mediumweb extractions on homepage/resources/cards show concatenated phrases in text streamScreen reader users, AI readers, skim readersReduced comprehension and machine parsing quality.Add semantic list/card markup, punctuation separators, aria labels, and visually hidden context where needed.S-MMedium
14Proof and case-study pages clearly mark templates, but approved client outcomes/social proof remain limited.Mediumweb: turn515881view2 L14-L188; turn254166view1 L14-L52; turn108578view5 L15-L129Procurement and enterprise buyers needing external validationMay slow trust-building or require more live explanation.Add approved outcomes only after human/client approval; otherwise add stronger methodology proof and anonymized constraints.M-LMedium-High
15Machine-readable links are discoverable in the footer; useful for AI agents but potentially distracting to human buyers.LowFooter machine-readable section appears across pagesHuman buyers browsing footerCan make site feel more like a technical proof archive than a sales funnel.Keep the group but visually subordinate it under "Technical evidence" or "For automated reviewers".SLow-Medium
16Pricing PDF uses non-embedded Helvetica and likely lacks tagged PDF structure.Mediumlocal: pricing-guide.pdf inspected/extracted/rendered; proof-ledger.csv downloaded; proof/service/proposal PDFs downloadedScreen reader users, procurement reviewers downloading PDFsAccessibility/portability risk in shared documents.Maintain HTML landing pages; generate tagged PDFs with embedded fonts and metadata.MMedium
17Resource taxonomy repeats checklist/resource concepts across Resources, Downloads, and Docs.Mediumweb: turn254166view2 L14-L61; turn254166view3 L63-L180; turn391058view0 L14-L208Buyers trying to pick the right assetChoice friction and duplicate internal-link surfaces.Separate stages: Resources = buyer enablement; Downloads = file index; Docs = technical contracts.MMedium
18Security headers, HSTS, CSP, X-Frame-Options, caching, compression, and WordPress version exposure were not verifiable from local curl/browser.Mediumlocal log: /mnt/data/lts-audit-work/logs/browser-network-limitation.logAll visitors; security reviewersPotential security/privacy concerns remain unknown.Add non-invasive header audit script using curl/headers in CI; publish security.txt validation.S-MMedium
19Performance metrics and payload offenders are unknown because Lighthouse could not run.Mediumlocal log: /mnt/data/lts-audit-work/logs/browser-network-limitation.logMobile and low-bandwidth visitorsSlow pages can reduce conversion and SEO.Run Lighthouse CI for home/pricing/contact/diagnostic with budgets for LCP/TBT/CLS/total bytes.MHigh
20About page leads with brand architecture; buyer may need a more direct "who is accountable" explanation first.Lowweb: turn391058view2 L15-L33Executives evaluating the firmPotential confusion between LongTermSoftware, MikeKappel, and Teleodynamic.Lead with principal/accountability and what buyers hire; move brand roles into a proof ecosystem panel.SMedium
21Industry page is concise but not tightly connected to proof/services per industry.Lowweb: turn108578view1 L15-L60Industry-specific buyersMissed relevance signals for regulated/legacy verticals.Add per-industry "relevant service" and "proof route" links.S-MLow-Medium
22FAQ, personas, standards-alignment, llms-full, ai-plugin, robots, sitemap, security.txt were not directly verified in this run.Mediumweb reader safety errors / no direct local DNSAI agents, crawlers, compliance reviewersImportant utility and trust files may drift without automated testing.Add mandatory route-qa HEAD/GET checks and publish artifact results.S-MMedium
23Pricing page is accurate but should make Monthly Advisory or Annual Modernization visually more default than C2C on every viewport.Lowweb: turn247632view0 L23-L173; turn247632view1 L175-L203; turn247632view2 L205-L216Buyers choosing engagement modelC2C could attract poor-fit inquiries if visually over-emphasized.Keep C2C as limited availability; emphasize Monthly as practical default and Annual for protected capacity.SMedium
24Route QA contract is strong but does not yet cover visual screenshots, accessibility, performance, or diagnostic network privacy.Mediumweb: turn108578view4 L15-L99; turn821510view0 L0-L7; turn821510view1 L0-L7; turn852219view5 L0-L6; turn852219view6 L0-L8; turn852219view7 L0-L8; turn852219view9 L0-L6; turn778395view5 L0-L6Theme-build agents and QA reviewersFuture package could pass content checks while failing UX checks.Extend route-qa-contract.json and tools/route-qa.py with Playwright, axe, Lighthouse, network, and screenshot acceptance criteria.M-LHigh

21. Implementation Backlog

Required Table H. Implementation backlog

Backlog itemPriorityTheme files likely affectedEvidenceAcceptance criteria
Add Playwright viewport screenshot and no-horizontal-scroll tests for required widths.P0tools/route-qa.py; route-qa-contract.json; assets/css/app.css; header.phpScreenshots/viewport testing unavailable in this run; header is dense with nav/search/CTA.CI saves named PNGs for each required viewport and fails on horizontal scroll, wrapped header, hidden CTA, or unusable menu.
Add Lighthouse CI for home, pricing, contact, diagnostic mobile/desktop.P0tools/lighthouse-ci.js; assets/css/app.css; assets/js/app.js; functions enqueue logicNo lab metrics available due local DNS failure.Artifacts include JSON/HTML reports with Performance, Accessibility, Best Practices, SEO, LCP, TBT, CLS, byte totals, and largest image.
Add axe-core accessibility CI and keyboard smoke tests.P0header.php; inc/forms.php; assets/js/app.js; tools/route-qa.pySkip link present but focus/menu/form accessibility unverified.Automated axe run passes critical/serious checks on key routes; keyboard path verifies skip link, menu, search, CTA, forms, and diagnostic.
Fix search-index hygiene for /hello-world/, /projects/, and stale /downloads/ snippets.P0inc/schema.php; inc/content.php; redirects; sitemap generator; robots/sitemap settingsSearch results still show starter/recruiter/resume snippets.Old URLs redirect or return intended status, are absent from sitemap, have canonical targets, and Search Console recrawl/removal is requested.
Refactor /docs/ into a distinct technical evidence documentation hub.P1templates/virtual-page.php; inc/content.php; docs/*; route-qa-contract.json/docs/ duplicates Resources-style content.Docs page explains file contracts, route QA, schema versions, public memory boundaries, changelog, and machine-readable usage without duplicating resource cards.
Make contact/fit-call forms progressively disclosed and accessibility-complete.P1inc/forms.php; templates/contact.php or virtual-page.php; assets/js/app.js; assets/css/app.cssContact page has direct contact plus detailed intake; labels/errors not verified.Short fit-call form is primary; detailed fields are collapsed; every field has label/help/error; no real test submissions required.
Add diagnostic copy/export and network privacy guard.P1assets/js/app.js; templates/virtual-page.php; tools/route-qa.pyLocal-only claim confirmed textually; no copy/export evident; network not verified.Sample input generates local result, copy button works, CTA present, and tests assert no diagnostic text leaves browser.
Align machine-readable asset versioning or add schema_version/data_version distinction.P1llms.txt; llms-full.txt; ai-agent-manifest.json; downloads/proof-ledger.json; inc/rest.phpProof ledger version differs from 1.18.0 site/manifest/route QA.Every public JSON/text asset exposes coherent version fields and generated_utc; route QA checks consistency.
Add public REST endpoint smoke/schema tests.P1inc/rest.php; tools/route-qa.py; route-qa-contract.jsonMost /wp-json/lts/v1/* endpoints could not be verified manually.All public REST endpoints return 200, JSON content type, expected schema fields, current contact/pricing/proof values.
Add tagged/accessible PDF workflow or HTML-first equivalents for every PDF download.P2docs/; downloads/ generation scripts; resources page templatesPricing PDF likely untagged/non-embedded-font risk.Each PDF has metadata, embedded fonts or safe equivalents, heading/bookmark structure where possible, and an equivalent HTML landing page.
Reduce resource/download/docs duplication and clarify taxonomy.P2inc/content.php; templates/virtual-page.php; front-page.php; footer.phpResources, Downloads, and Docs repeat overlapping cards.Resources grouped by decision stage; Downloads is a compact file index; Docs is technical contract reference.
Add proof-card structure with status, evidence type, route, boundary, buyer relevance, and sample/outcome label.P2templates/virtual-page.php; inc/content.php; assets/css/app.css; downloads/proof-ledger.jsonProof ledger is accurate but could be more buyer-readable.Every proof card identifies whether it is template, generated-needs-human-review, approved outcome, or machine-readable asset.
Harden security/privacy header checks.P2server config; WordPress headers; .well-known/security.txt; tools/route-qa.pyHeaders not available due curl DNS failure.CI reports HTTPS, HSTS, CSP decision, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, security.txt, and no mixed content.
Add structured data and schema consistency extraction.P2inc/schema.php; inc/rest.php; tools/route-qa.pySchema contact source not verified.Organization/Person/Service schema validates and matches public contact/pricing claims without unsupported claims.

22. Exact Copy Recommendations

Current textRecommended textReason
Corporate software architecture for systems that cannot drift when AI or modernization changes the stack.Modernize .NET and SQL systems without breaking the behavior the business already relies on.Keeps the behavioral-drift differentiator but uses simpler buyer-facing language.
LongTermSoftware.com helps legacy .NET, SQL Server, Web Forms, Classic ASP, VB.NET, and stored-procedure-heavy systems move forward through behavior-preserving modernization, human-reviewed AI workflows, and source-bound documentation practices.I help teams preserve legacy behavior, document source-bound decisions, and introduce reviewed AI workflows where the risk is understood.Shorter above-the-fold subhead; reduces technology list density while preserving fit.
generated-needs-human-reviewGenerated draft — human review requiredMore understandable to buyers while retaining machine-readable status behind the scenes.
Docs / Long-Term MemoryTechnical Evidence and Public MemoryClarifies the purpose of /docs/ and distinguishes it from Resources.
MikeKappel.com is the proof library; Teleodynamic.com is the methods and governance layer.LongTermSoftware is the consulting front door. MikeKappel.com and Teleodynamic.com provide supporting proof and methods; the accountable contact is Mike Kappel.Reduces brand-architecture confusion and establishes accountability first.
No data leaves your browser. No model call is made from this page. Do not paste secrets, credentials, private source code, PHI, or confidential client data.Runs locally in your browser. Paste only sanitized summaries. This tool does not call an AI model or submit your text to the server.Slightly clearer privacy claim and user instruction.
Start with a short fit call, then scope only what evidence supports.Start with a 20-minute fit call. Scope only the next useful step after the risk is clear.Keeps the evidence-led stance and makes the CTA more direct.
Reserved capacityReserved calendar capacity — unused hours expire at month end unless a signed order form says otherwise.Plain-English explanation of non-accumulative retainers.

Additional microcopy:

  • Diagnostic empty state: Paste a sanitized system summary to receive a local triage result. Do not include secrets, credentials, private source code, PHI, or confidential client data.
  • Diagnostic result disclaimer: This is a triage aid, not production architecture advice or legal/compliance guidance.
  • Contact form helper: A short summary is enough. Use sanitized details only.
  • C2C card note: Limited availability; not the default first engagement.
  • Proof badge labels:
  • Template — not a client outcome
  • Generated draft — human review required
  • Approved public outcome
  • Machine-readable evidence

23. Theme/File Change Recommendations

File / areaChanges
header.phpAdd accessible nav/search/menu semantics; responsive collapse behavior; focus return; CTA preservation.
footer.phpKeep direct contact; visually subordinate machine-readable links under a technical evidence heading.
front-page.phpPreserve strong first screen; simplify midpage proof density; add buyer-path order.
templates/virtual-page.phpSeparate Resources, Downloads, Docs, Proof, Diagnostic page layouts; avoid duplicated card grids.
inc/forms.phpAdd short first-touch form, progressive assessment intake, labels, error summaries, nonce/spam controls.
inc/schema.phpValidate Organization/Person/Service schema against contact/pricing truth; remove stale starter/meta traces.
inc/rest.phpAdd status/schema tests for all public endpoints; synchronize pricing/contact/proof payloads.
inc/content.phpCentralize pricing/contact/service/proof truth; add version fields; prevent duplicate resource content.
inc/enhancements-v*.phpKeep route aliases, SEO cleanup, canonical handling, and no unsupported claims checks.
assets/css/app.cssAdd responsive header/grid rules, no-horizontal-scroll guard, touch target sizes, focus-visible styles, contrast tokens.
assets/js/app.jsAdd diagnostic copy/export, local-only implementation, accessible result updates, menu/search keyboard behavior.
route-qa-contract.jsonExtend contract with viewport, Lighthouse, axe, diagnostic network, utility file, and schema checks.
tools/route-qa.pyAdd Playwright browser run, screenshots, redirect assertions, DOM extraction, schema validation, network privacy test.
llms.txt, llms-full.txt, ai-agent-manifest.jsonKeep pricing/contact/proof synchronized; align versioning; forbid unsupported claims.
.well-known/ai-plugin.json, .well-known/security.txtValidate content type, fields, generated/expiration dates, no runtime authority claims.
.uai/*, docs/*Document public memory boundaries and technical contracts without suggesting runtime authority.

24. Tests to Add to Route QA

  1. route_status_matrix: GET every required route, old alias, download, static file, and REST endpoint; record status, final URL, content type, canonical.
  2. title_meta_canonical_matrix: parse <title>, meta description, canonical, robots meta, H1.
  3. viewport_screenshot_matrix: capture screenshots at 1440, 1366, 1280, 1024, 768, 390, 375, and 320 widths.
  4. no_horizontal_scroll: fail if scrollWidth > innerWidth at any required viewport.
  5. header_contract: assert logo visible, nav order stable, CTA accessible, mobile menu works, search has accessible name.
  6. pricing_truth_consistency: compare HTML, pricing JSON, REST pricing, pricing consistency, llms, AI manifest, FAQ.
  7. contact_truth_consistency: compare contact page, fit-call page, footer, schema, llms, AI manifest, REST contact profile.
  8. unsupported_claim_scan: fail on AGI/consciousness/safety certification/vendor partnership/guaranteed compliance/autonomous production authority/unreviewed outcomes.
  9. diagnostic_network_privacy: enter safe sample; assert no user text sent in requests and no POST triggered.
  10. diagnostic_a11y: result region uses aria-live, buttons keyboard-operable, copy result works.
  11. axe_smoke: run axe on home, pricing, contact, fit-call, services, proof, resources, diagnostic.
  12. lighthouse_ci: save mobile and desktop JSON/HTML reports for required routes.
  13. pdf_accessibility_inventory: verify each PDF has HTML equivalent, title metadata, and a PDF accessibility status marker.
  14. download_schema_validation: validate JSON/CSV columns, generated UTC, version fields, and content-type headers.
  15. serp_hygiene_manual_check: generate a checklist for Search Console review of stale starter/recruiter snippets.

25. Final Recommendation

Proceed with the next WordPress theme package, but treat the next pass as a QA-hardening and conversion-clarity pass rather than a full positioning rewrite. The site’s public truth is mostly sound. The theme should preserve pricing/contact/proof boundaries and focus on:

  • measurable browser evidence,
  • stale SEO cleanup,
  • shorter first-touch flow,
  • stronger diagnostic conversion,
  • cleaner resource taxonomy,
  • accessibility and performance automation.

Do not add unsupported AI claims, invented client metrics, false partnerships, compliance guarantees, safety certifications, autonomous production authority, or unreviewed production outcome claims.


26. Prompt for the next AI theme-build pass

You are building the next WordPress theme ZIP for LongTermSoftware.com. Use the current live site as source truth and preserve the confirmed public positioning: .NET/SQL modernization, behavior-preserving legacy upgrades, Web Forms, Classic ASP, VB.NET, SQL Server/stored-procedure-heavy systems, human-reviewed AI workflows, source-bound AI documentation, governed knowledge/RAG foundations, AI reviewer applications, AI evaluation/reliability, and systems that cannot tolerate behavioral drift or unsupported AI claims.

Top implementation priorities:
1. Add Playwright route QA for all required desktop/tablet/mobile viewports: 1440x900, 1366x768, 1280x800, 1024x768, 768x1024, 390x844, 375x667, 320x568.
2. Generate named screenshots for home, header, pricing, contact, fit-call, services, proof, resources, diagnostic before/after, and machine-readable evidence.
3. Add Lighthouse CI for home mobile/desktop, pricing mobile, contact mobile, and diagnostic mobile. Save JSON/HTML reports.
4. Add axe-core and keyboard tests for skip link, nav/menu, search, CTA focus states, forms, diagnostic, and reflow.
5. Clean SEO/index hygiene: remove starter-content /hello-world/ exposure, stale /projects/ index, and old resume/recruiter /downloads/ snippets.
6. Refactor /docs/ into a distinct technical evidence/public memory hub, not a Resources duplicate.
7. Preserve pricing truth exactly: $150/hour ad-hoc no minimum; $100/hour monthly advisory, 20-hour monthly minimum, $2,000/month; $80/hour annual modernization, 40-hour monthly minimum, $3,200/month, annual contract; $75/hour embedded architect C2C, 40 hours/week, six-month minimum, limited availability.
8. Preserve non-accumulative retainer language: unused hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
9. Preserve contact truth exactly: Mike Kappel / Michael Kappel, mike@ns12.com, (708) 230-2304, Cicero, IL.
10. Improve diagnostic conversion: local-only network guard, copy-result button, result CTA, aria-live result region, and analytics events that never capture pasted text.

Likely files to change: header.php, footer.php, front-page.php, templates/virtual-page.php, inc/forms.php, inc/schema.php, inc/rest.php, inc/content.php, inc/enhancements-v*.php, assets/css/app.css, assets/js/app.js, route-qa-contract.json, tools/route-qa.py, llms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json, .well-known/security.txt, .uai/*, docs/*.

Claims not to make: AGI, consciousness, safety certification, formal vendor partnership, guaranteed compliance, autonomous production authority, unreviewed production outcomes, unsupported client metrics, automatic repository writes, hosted UAIX importer behavior, or runtime authority from machine-readable files.

Acceptance criteria:
- Every required route returns expected status/final URL/content type/canonical/title/H1/markers.
- All pricing/contact sources match HTML, REST, llms, AI manifest, and downloadable JSON/PDF/CSV assets.
- Header does not wrap or create horizontal scroll at required widths.
- Mobile menu, search, forms, CTAs, and diagnostic are keyboard-operable and accessible.
- Lighthouse/axe artifacts are saved.
- Diagnostic sample input is never sent over the network.
- Search-index cleanup plan is documented for Search Console.
- Public proof/sample artifacts clearly distinguish templates, generated drafts requiring human review, machine-readable evidence, and approved client outcomes.

Final response requirements for the theme-build agent:
- Provide the theme ZIP.
- Provide route-qa output, screenshot catalog, Lighthouse reports, axe findings, and exact changed files.
- State any items requiring WordPress admin, analytics/Search Console/server access, or human approval.