SEO / Portfolio / Public Site

LongTermSoftware.com Live Audit Report

Report summary

Generated UTC: 2026-06-17T00:37:56Z Audited site: https://longtermsoftware.com/ Audit source specification: uploaded prompt treated as controlling requirements.

Status
Research archive item
Category
SEO / Portfolio / Public Site
Length
6,602 words
Reading time
31 minutes
Report type
evaluation

Key topics

  • SEO / Portfolio / Public Site
  • SEO
  • Portfolio
  • Public Site
  • AI
  • UAI
  • Agentic Web
  • WordPress
  • .NET

Research provenance

Archive status
Research archive item
Content identity
sha256:927a80b048b532ff46acb2a4b0681efcfe7f52bcdedd6e83d33da87840d40de0

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

Source availability: 1 citation markers in the source export have no recoverable source links. Those markers are omitted from this reader; any supplied bibliography and ordinary links remain. Check the original sources before relying on the cited claims.

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-17T00:37:56Z Audited site: https://longtermsoftware.com/ Audit source specification: uploaded prompt treated as controlling requirements.

Evidence limits for this pass

This report is a live-site audit based on the available web renderer and direct parsed route evidence. The renderer confirmed multiple HTML, JSON, and text routes, but the execution environment could not run a full desktop browser session because container DNS resolution for longtermsoftware.com failed. As a result:

  • Confirmed: parsed live page content from the web renderer, route redirects exposed by that renderer, visible text, visible links, and several JSON/text assets.
  • Not confirmed: screenshots, Lighthouse scores, Core Web Vitals lab metrics, DevTools Network behavior, exact DOM selectors, color contrast, keyboard behavior, mobile reflow, real curl status codes, and form submission/error behavior.
  • Do not treat unknowns as passes. Add the tests listed in section 24 before packaging the next theme ZIP.

1. Executive Summary

The current production site has moved in the right strategic direction on the homepage: the primary nav is conventional, the hero communicates .NET/SQL modernization without behavioral drift, and the homepage now includes the approved hourly/retainer/C2C pricing ladder language. However, the site is not internally consistent enough for the next WordPress theme package.

The largest risks are:

  1. Pricing truth is split. The homepage shows the new ladder, but /services/ and multiple service detail routes still use old fixed-scope pricing. /pricing/ could not be confirmed in this audit renderer.
  2. Contact truth is wrong or incomplete. The contact page shows consulting@longtermsoftware.com as fallback and does not expose the expected direct contact profile.
  3. Several service-detail pages use stale templates. Four service pages still show old navigation: AI Systems, Downloads, and Assessment.
  4. Machine-readable assets are not synchronized. The manifest uses stale contact information and omits pricing routes/assets. Proof exports show older versions than the manifest.
  5. Evidence-route reliability is incomplete. proof-ledger.csv, /machine-readable-evidence/, and /route-qa-contract.json could not be confirmed in this pass.

Overall scorecard

AreaScore / 10EvidenceMain recommendation
Positioning / first impression8Homepage hero states fragile .NET/SQL modernization and behavior preservation; trust boundaries visible.Keep the hero direction; tighten section order and reduce proof density.
Pricing truth4Homepage shows approved ladder; services/details show fixed-scope pricing; /pricing/ not confirmed.Centralize pricing truth in one source and test HTML/JSON/REST parity.
Contact truth3Contact page shows consulting@longtermsoftware.com; expected direct profile absent.Publish Mike Kappel / mike@ns12.com / phone / Cicero consistently.
Services UX5Service list clear, but old fixed-scope posture dominates.Rebuild cards around buyer problem, best fit, timeline, pricing path, proof, next step.
Proof / claims boundaries8Proof statuses and template boundaries are explicit.Improve link labels and add approved outcome placeholders only after approval.
Resources/downloads6Resource inventory is useful; pricing guide/ladders absent from observed list.Add pricing/service JSON and reduce route duplication.
Diagnostic6Privacy text is strong; result/copy/export/network behavior not verified.Add sample input, copy/export, and a local-only network test.
Machine-readable readiness4llms/manifest exist; manifest contact stale; versions/routes mismatch.Regenerate all AI-reader files from site truth snapshot.
Accessibility5Skip link and warnings visible; link purpose and form behavior need work.Add automated axe/Playwright keyboard/viewport tests.
SEO/index hygiene5No starter content found by search, but site: queries returned no visible results.Verify Search Console, sitemap, robots, canonical, and stale redirects.
PerformanceUnknownLighthouse not available in this environment.Run Lighthouse/Chrome traces in CI before packaging.
Security/privacy6Good no-secret and diagnostic privacy copy; headers/security.txt not verified.Verify non-invasive headers and security.txt.

2. Current Live State vs Expected Site Truth

Expected truthConfirmed live stateStatusFix
Primary nav: Services, Proof, Industries, Resources, About, ContactConfirmed on homepage and most pages.Mostly passNormalize remaining stale service templates.
Primary CTA emphasizes fit callHomepage, contact, fit-call, proof, resources show fit-call CTA.Mostly passReplace stale “Start assessment” primary CTAs on service detail pages.
Contact shows Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, ILContact page shows consulting@longtermsoftware.com; direct profile not observed.FailUpdate central contact profile and all surfaces.
Pricing ladder has $150/hour, $100/hour monthly, $80/hour annual, $75/hour C2CHomepage contains the ladder; service pages contain fixed-scope pricing.Mixed/failCentralize pricing truth and rewrite services/pricing/AI files.
Retainer hours non-accumulativeNot observed in parsed homepage/services/contact/FAQ.FailAdd rollover boundary anywhere retainers appear.
Templates vs approved outcomes distinctProof, case studies, sample artifacts clearly mark templates and generated-needs-human-review.PassKeep boundary language; improve proof link labels.
Machine-readable files present and synchronizedllms and manifest present; proof ledger JSON present; versions/routes/contact mismatch.Mixed/failRegenerate and route-test all assets.
No unsupported claimsNo AGI/consciousness/certification/autonomous authority claims observed; boundaries strong.PassKeep claim-boundary tests.

3. Screenshot Catalog

No screenshots were captured in this pass. See screenshots/SCREENSHOTS-NOT-CAPTURED.md.

Required screenshot set for the next pass:

Required screenshotStatusNext action
Homepage desktop above fold/full pageNot capturedCapture 1440x900 and 1366x768.
Homepage mobile above fold/full pageNot capturedCapture 390x844 and 320x568.
Header at 1366, 1024, 768, 390, 320Not capturedVerify no wrap/overflow; mobile menu.
Pricing desktop/mobileNot capturedFirst verify /pricing/ resolves.
Contact desktop/mobileNot capturedCapture after contact truth fix.
Fit-call desktop/mobileNot capturedCapture form and CTA.
Services/proof/resources desktop/mobileNot capturedCapture after nav/pricing fix.
Diagnostic before/after sample inputNot capturedRequires browser + network tab.
Machine-readable evidence pageNot capturedFirst verify route resolves.
Visual defectsNot capturedRun responsive screenshot matrix.

See route-audit.csv and broken-links.csv.

Route audit table

RouteStatusRedirect?TitleH1Key markers foundIssues
/200 observedNoLongtermSoftware.comModernize fragile .NET and SQL systems without behavioral drift.Current nav; pricing ladder; trust boundariesNo non-accumulative retainer text observed.
/pricing/Fetch failed: cache missUnknownUnknownUnknownLinked from homepage/footer/contactCritical route not confirmed.
/contact/200 observedNoLongtermSoftware.comContact LongTermSoftwareForm; no-secret warning; fallback emailDirect contact truth missing.
/fit-call/200 observedNoLongtermSoftware.comRequest a Fit CallShort form; no-secret warningDirect contact profile missing.
/services/200 observedNoLongtermSoftware.comAI Consulting ServicesSeven services; fixed-scope pricesPricing posture stale.
/proof/200 observedNoLongtermSoftware.comClaim-to-Evidence LedgerProof statusesGeneric link labels.
/case-studies/200 observedNoLongtermSoftware.comCase StudiesTemplate boundaryNeeds stronger buyer outcomes.
/resources/200 observedNoLongtermSoftware.comResources and Buyer ChecklistsResource inventoryPricing guide/ladders absent from observed inventory.
/downloads/200 observedNoLongtermSoftware.comDownloads and Buyer ChecklistsResource inventoryDuplicates resources; no pricing guide observed.
/docs/200 observedNoLongtermSoftware.comDocs and Long-Term MemoryLaunch checklistRepeats resource inventory.
/process/200 observedNoLongtermSoftware.comProcess: Assess, Map, Pilot, Integrate, GovernSix-phase processPass.
/about/200 observedNoLongtermSoftware.comAbout LongTermSoftware.comBrand architectureMay be internally oriented.
/faq/200 observedNoLongtermSoftware.comAI Consulting FAQClaim boundariesPricing/retainer FAQ missing.
/industries/200 observedNoLongtermSoftware.comIndustries and Use CasesIndustry listNeeds stronger service/pricing routing.
/standards-alignment/200 observedNoLongtermSoftware.comStandards AlignmentGovernance framework boundariesPass.
/sample-artifacts/200 observedNoLongtermSoftware.comSample ArtifactsPublic-safe template boundaryPass with richer previews recommended.
/diagnose-system/200 observedNoLongtermSoftware.comBrowser-Local System DiagnosticLocal-only privacy copyNetwork/result behavior not verified.
/services/governed-knowledge-rag-foundation/200 observedNoLongtermSoftware.comGoverned Knowledge / RAG FoundationOld nav; $75k priceStale template.
/services/ai-reviewer-app-mvp/200 observedNoLongtermSoftware.comAI Reviewer App MVPOld nav; $95k priceStale template.
/services/ai-evaluation-and-reliability-program/200 observedNoLongtermSoftware.comAI Evaluation and Reliability ProgramOld nav; $60k priceStale template.
/services/fractional-ai-modernization-architect/200 observedNoLongtermSoftware.comFractional AI / Modernization ArchitectOld nav; $45k/quarterDoes not match expected C2C pricing.
/hello-world/Redirected to / observedYesLongtermSoftware.comModernize .NET and SQL systems without behavioral drift.Stale fixed-scope pricing copyCache/redirect defect likely.
/projects/Redirected to /proof/ observedYesLongtermSoftware.comClaim-to-Evidence LedgerProof ledgerPass.
/llms.txt200 observedNotext/plainN/Av1.9.0 generated UTCMissing pricing/contact truth.
/ai-agent-manifest.json200 observedNoJSONN/Av1.9.0; contact consulting@...Contact and pricing route mismatch.
/route-qa-contract.jsonFetch failed: cache missUnknownUnknownN/AListed in footer/llmsRequired contract not confirmed.
/downloads/proof-ledger.json200 observedNoJSONN/Av1.7.0 six proof rowsVersion stale vs manifest.
/downloads/proof-ledger.csvFetch failed: (400) OKUnknownCSVN/ALink visibleVerify/fix export.
/downloads/conversion-event-taxonomy.json200 observedNoJSONN/Ataxonomy-only-no-analytics-runtimeEvent names incomplete vs prompt.

5. Homepage and First Impression Review

Confirmed strengths

  • The hero clearly says the company modernizes fragile .NET and SQL systems without behavioral drift.
  • Above-the-fold trust signals include hourly entry pricing, monthly advisory retainer pricing, .NET/SQL focus, principal-led architecture, review-first AI, and public proof routes.
  • Unsupported AI claims are explicitly denied later on the page.

Issues

IssueEvidenceRiskRecommendation
Homepage remains long and proof-heavy.Parsed homepage contains hero, problem, pricing, service cards, proof status key, proof cards, process, resources, trust boundaries, footer.Buyers may experience it as a proof library rather than a conversion path.Keep proof but move deeper ledgers below primary buyer path.
Secondary CTA may compete.Hero includes “Book a 20-minute fit call” and “See proof examples.”Moderate distraction.Keep secondary link lower-contrast; primary CTA should dominate.
Non-accumulation note missing.Pricing ladder visible, rollover boundary not observed.Retainer ambiguity.Add concise note under pricing path.
Direct contact proof absent.Footer has pricing/resources/machine-readable, no observed direct contact profile.Trust gap for procurement.Add compact “Principal: Mike Kappel” proof/contact card.

Proposed rewritten hero copy

Eyebrow: .NET / SQL modernization · reviewed AI workflows · governed knowledge Headline: Modernize legacy .NET and SQL systems without changing business behavior by accident. Subhead: Map hidden rules, preserve production behavior, and introduce AI only behind source-bound evidence, human review, and clear release gates. Primary CTA: Book a 20-minute fit call Secondary CTA: Compare pricing options Trust strip: $150/hour ad-hoc · $2,000/month advisory · SQL/Web Forms/Classic ASP/VB.NET · no autonomous production authority

Proposed homepage section order

  1. Hero with primary CTA and compact trust strip.
  2. Problem: hidden rules, AI output risk, proof pressure.
  3. Pricing path: four options and non-accumulative retainer note.
  4. “Choose your starting point” service cards.
  5. Fit-call / diagnostic bridge.
  6. Proof status key.
  7. Three buyer-readable case templates.
  8. Process summary.
  9. Resource links.
  10. Trust boundaries and footer.

6. Header, Navigation, and Search Review

Pass/fail matrix by observed route group

Route groupExpected nav presentSearch visible in parsed textFit-call CTA visibleIssue
Homepage/core pagesYesYesYesMostly pass.
Contact/fit-callYesYesYesPass.
First three service detail pagesYesYesYesPricing copy stale.
RAG/App/Evaluation/Fractional service detailsNoNo parsed searchNo top fit-call CTA in headerStale template.
  • Use a single header.php source for every virtual/service page; remove old nav arrays from service-detail renderers.
  • Add route QA assertion: exact header link text sequence equals Services | Proof | Industries | Resources | About | Contact on every public HTML route.
  • Add Playwright viewport checks at 1366x768, 1280x800, 1024x768, 768x1024, 390x844, 375x667, 320x568.
  • Search input should have exactly one accessible name. Current parsed output suggests label duplication: Search LongTermSoftware.com Search.

7. Pricing Page Review

Pricing consistency table

SourceAd-hocMonthlyAnnualC2CNon-accumulative languageMismatch
HTML homepage$150/hour, no minimum$100/hour, 20-hour monthly minimum, $2,000/month$80/hour, 40-hour monthly minimum, $3,200/month$75/hour, 40h/week, six-month minimumNot observedPartial pass; rollover note missing.
HTML pricing pageUnknownUnknownUnknownUnknownUnknownCritical: /pricing/ not confirmed.
HTML services pageNot shownNot shownNot shownNot shownNot shownFixed-scope pricing dominates.
Service detailsNot shownNot shownNot shownFractional does not show expected C2CNot shownOld pricing posture.
pricing-ladder.jsonUnknownUnknownUnknownUnknownUnknownNot discoverable/verified.
service-packages.jsonUnknownUnknownUnknownUnknownUnknownNot discoverable/verified.
REST pricingUnknownUnknownUnknownUnknownUnknownNot verified.
REST pricing-consistencyUnknownUnknownUnknownUnknownUnknownNot verified.
llms.txtNot listedNot listedNot listedNot listedNot listedMissing pricing truth.
AI manifestNot listedNot listedNot listedNot listedNot listedOmits /pricing/ and pricing files.
FAQNot listedNot listedNot listedNot listedNot listedAdd pricing answer.

Specific pricing recommendations

  • Rebuild /pricing/ with four cards:
  1. Ad-hoc architecture help: $150/hour, no minimum.
  2. Monthly advisory retainer: $100/hour, 20-hour monthly minimum, $2,000/month.
  3. Annual modernization retainer: $80/hour, 40-hour monthly minimum, $3,200/month, annual contract.
  4. Embedded architect C2C: $75/hour, 40 hours/week, six-month minimum, limited availability.
  • Put Monthly Advisory or Annual Modernization in the “recommended/practical default” visual frame. Do not overpromote C2C.
  • Add exact note: Retainer hours are reserved monthly capacity. Unused hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
  • Add route QA parity tests comparing /pricing/, /downloads/pricing-ladder.json, /wp-json/lts/v1/pricing, /wp-json/lts/v1/pricing-consistency, llms.txt, manifest, and FAQ.

8. Contact and Fit-Call Review

Contact consistency table

SourceEmailPhoneLocationFounder/profileMismatch
Contact pageconsulting@longtermsoftware.com fallbackNot observedNot observedMikeKappel.com link onlyHigh mismatch.
Fit-call pageNot observedNot observedNot observedNot observedDirect profile absent.
FooterNot observedNot observedNot observedNot observedDirect profile absent.
SchemaUnknownUnknownUnknownUnknownRequires source/DOM.
AI manifestconsulting@longtermsoftware.comNot listedNot listedBrand model onlyHigh mismatch.
llms.txtNot listedNot listedNot listedNot listedMissing.
REST contact-profileUnknownUnknownUnknownUnknownNot verified.

Form UX issues

RouteIssueFix
/contact/Form is detailed for first touch. It is framed as progressive intake, but the visible fields are many.Keep fit-call as primary. Put direct contact card above or beside the detailed form.
/fit-call/Good shorter path, but no direct contact fallback observed.Add compact card: Mike Kappel, email, phone, Cicero.
BothError handling not verified.Add tests for empty submit, invalid email, focus movement, and accessible error text.
BothDo-not-submit-sensitive-data language is strong.Keep warning adjacent to textarea/short note.

9. Services UX Review

ServiceObserved issueFix
AI and Modernization AssessmentDetail page shows fixed-scope Starting from $15k.Show flexible entry: $150/hour diagnostic help, monthly advisory, or fixed-scope when deliverables are defined.
.NET / SQL Modernization BlueprintDetail page shows Starting from $30k.Add hourly diagnostic and retainer path; fixed-scope blueprint only after risk is clear.
Human-Reviewed AI Workflow AcceleratorDetail page shows Starting from $55k.Add review-first pilot path through hourly/retainer first.
Governed Knowledge / RAG FoundationOld nav and Starting from $75k.Update template/header and pricing path.
AI Reviewer App MVPOld nav and Starting from $95k.Update template/header and position MVP after assessment/retainer discovery.
AI Evaluation and Reliability ProgramOld nav and Starting from $60k.Update template/header and add evaluation retainer option.
Fractional AI / Modernization ArchitectShows $45k per quarter, not expected embedded C2C ladder.Rename/position against approved C2C and retainer options; clarify limited availability.
  1. Buyer problem — one sentence.
  2. Best fit — role/team/system profile.
  3. Typical timeline — range or monthly capacity.
  4. Pricing path — ad-hoc/retainer/fixed-scope/C2C applicability.
  5. Deliverables — 3–5 concrete outputs.
  6. Proof route — specific link label.
  7. Next step — primary fit-call CTA; secondary resource/proof link.

10. Proof, Case Studies, and Sample Artifacts Review

Proof maturity assessment

The proof system is a relative strength. /proof/ acts like a claim-to-evidence ledger, /case-studies/ clearly states narratives are public-safe templates until approved outcomes exist, and /sample-artifacts/ explicitly says templates contain no client data and do not imply production outcomes.

Template-vs-outcome boundary assessment

AreaStatusEvidenceRecommendation
Proof statusesPassPublic-ready template, Generated-needs-human-review.Keep statuses visible.
Case studiesPassCase narratives are public-safe templates until approved.Add buyer-readable “why this matters” summaries.
Sample artifactsPass“No client data” and “do not imply production outcomes.”Add visual previews or HTML artifact snippets.
Approved outcomesNot presentNo approved client outcome metrics observed.Do not invent. Add only after written approval.

Top 5 proof improvements

  1. Replace repeated Open route link labels with descriptive proof link text.
  2. Add a one-line “why this matters to CTO/CIO/procurement” summary to each proof card.
  3. Add approval-state badges with definitions linked to the proof status key.
  4. Add “what this does not prove” boundary per claim.
  5. Keep machine-readable proof but make it clearly secondary for humans.
Claim: Preserve business behavior during .NET / SQL modernization
Evidence route: Legacy modernization parity proof route
Status: Public-ready template
Controls: comparison screens, parity tests, SQL rule inventory, rollback note
What this proves: method and artifact shape
What this does not prove: client-specific metric or approved outcome
CTA: Open legacy-modernization proof route

11. Resources and Downloads Review

Resource inventory table

ResourceObserved route/sourceTypeIssue
AI Readiness Checklist/resources/, /downloads/, /docs/PDF + JSONPresent as label; file not fetched.
Modernization Risk Review/resources/, /downloads/, /docs/PDF + JSONPresent as label; file not fetched.
Human-Reviewed AI Workflow Checklist/resources/, /downloads/, /docs/PDF + JSONPresent as label; file not fetched.
Service One-Pagers/resources/, /downloads/, /docs/PDFPresent.
Proof Packet/resources/, /downloads/PDF + printable pagePresent.
Proposal Template Packet/resources/, /downloads/, /sample-artifacts/PDF/HTMLPresent.
Proof Ledger JSON/downloads/proof-ledger.jsonJSONPresent, v1.7.0.
Proof Ledger CSV/downloads/proof-ledger.csvCSVFetch failure in web renderer.
Conversion Event Taxonomy/downloads/conversion-event-taxonomy.jsonJSONPresent, but event list incomplete vs requested taxonomy.
Browser-Local Diagnostic/diagnose-system/HTML/local toolPresent.
Sample Artifact Library/sample-artifacts/HTMLPresent.
Pricing GuideFooter link label only; /pricing/ fetch failedHTML/PDF expectedNot confirmed.
Pricing ladder JSONExpected by promptJSONNot visible in resources/manifest.
Service packages JSONExpected by promptJSONNot visible in resources/manifest.
  • Decide fit: Fit call, diagnostic, pricing, FAQ.
  • Understand risk: AI readiness checklist, modernization risk review, human-reviewed AI checklist.
  • Evaluate proof: proof ledger, case templates, sample artifacts.
  • Share internally: proposal packet, proof packet, service one-pagers.
  • Machine-readable: llms, manifest, route QA, pricing/service/proof JSON.

12. Browser-Local Diagnostic Review

Confirmed text-level findings

  • The diagnostic page explicitly says pasted text is not submitted to the server.
  • It says no model call is made from the page.
  • It warns against secrets, credentials, PHI, source code, and confidential production data.
  • It frames output as triage, not final architecture advice.

Not verified

  • Network tab behavior after sample input.
  • Whether only static assets load.
  • Whether result is copyable/exportable.
  • Whether CTA appears after result.
  • Whether mobile input is usable.

Recommendations

  • Add a Use sample input button that inserts the safe sample text from the audit prompt.
  • Add local result sections: Likely service path, Risk signals, What not to paste, Recommended next step.
  • Add Copy result and Download sanitized summary buttons.
  • Track only metadata: diagnostic_start, diagnostic_complete_local, diagnostic_result_cta_click. Never send pasted text.

13. Machine-Readable UX and AI-Agent Readiness

Machine-readable consistency table

AssetReachable in this passVersion / dateContact truthPricing truthIssues
/llms.txtYes1.9.0 / 2026-06-16MissingMissingNeeds contact/pricing summary.
/ai-agent-manifest.jsonYes1.9.0 / 2026-06-16consulting@longtermsoftware.comMissingContact mismatch; pricing routes absent.
/downloads/proof-ledger.jsonYes1.7.0 / 2026-06-15N/AN/AVersion behind manifest.
/downloads/conversion-event-taxonomy.jsonYes1.7.0N/AN/AEvent names too generic/incomplete.
/downloads/proof-ledger.csvFailedUnknownN/AN/ACSV export issue.
/route-qa-contract.jsonFailed cache missUnknownUnknownUnknownRequired contract not confirmed.
/llms-full.txtNot verifiedUnknownUnknownUnknownVerify.
/.well-known/ai-plugin.jsonNot verifiedUnknownUnknownUnknownVerify.
/downloads/pricing-ladder.jsonNot verifiedUnknownUnknownUnknownExpected but not discoverable.
/downloads/service-packages.jsonNot verifiedUnknownUnknownUnknownExpected but not discoverable.
REST endpointsNot verifiedUnknownUnknownUnknownVerify all /wp-json/lts/v1/*.
  • Generate all files from a single site_truth object.
  • Include generated_utc, version, status, contact, pricing, proof_status_key, unsupported_claims, and public_routes in every relevant file.
  • Add machine-readable pricing_non_accumulative_note.
  • Make manifest include /pricing/, /downloads/pricing-ladder.json, /downloads/service-packages.json, and the pricing REST endpoints.
  • Add route QA checks that compare text markers across HTML, JSON, REST, and AI-reader files.

14. Accessibility Review

Accessibility table

Accessibility AreaStatusEvidenceRiskRecommendation
Skip linkPass, text-levelObserved at top of pages.LowVerify visible-on-focus.
Header nav consistencyMixedFour service details have stale nav.MediumNormalize templates.
Search accessible nameNeeds DOM checkParsed as Search LongTermSoftware.com Search.LowUse one visible label or aria-label.
Link purposeFail on proof cardsRepeated Open route.MediumUse claim-specific link labels.
Forms labelsUnknownLabels visible in parsed text.MediumVerify explicit label associations.
Error statesNot testedNo form submission.MediumAdd accessible validation tests.
Focus statesNot testedNo browser.UnknownRun keyboard tests.
Mobile menuNot testedNo browser.UnknownTest toggle/focus trap/escape.
AccordionsUnknownProof pattern described but DOM not verified.MediumVerify button semantics and aria-expanded.
ContrastNot testedNo screenshots/DOM CSS.UnknownRun axe/WAVE/manual contrast.
Text resize/reflowNot testedNo viewport browser.UnknownTest 200% zoom and 320px reflow.
Alt textPartial passRenderer exposes descriptive image alt text on major pages.LowVerify decorative vs informative images.
PDF accessibilityUnknownPDFs linked but not analyzed.MediumProvide tagged PDFs and HTML equivalents.

15. Mobile and Responsive UX Review

Viewport table

Because browser rendering was unavailable, this is a test plan/status table, not a visual pass/fail table.

RouteViewportHeader OKNo horizontal scrollCTA visibleMain issue
/1440x900Not verifiedNot verifiedText-level CTA observedCapture screenshot and header metrics.
/1366x768Not verifiedNot verifiedText-level CTA observedRequired header screenshot missing.
/1280x800Not verifiedNot verifiedText-level CTA observedRequired browser test missing.
/1024x768Not verifiedNot verifiedText-level CTA observedTablet landscape untested.
/768x1024Not verifiedNot verifiedText-level CTA observedTablet portrait untested.
/390x844Not verifiedNot verifiedText-level CTA observedMobile untested.
/375x667Not verifiedNot verifiedText-level CTA observedSmall mobile untested.
/320x568Not verifiedNot verifiedText-level CTA observedNarrow mobile untested.
/pricing/all requestedNot verifiedNot verifiedNot verifiedRoute not confirmed.
/contact/all requestedNot verifiedNot verifiedText-level CTA/form observedNeed form layout tests.
/fit-call/all requestedNot verifiedNot verifiedText-level CTA/form observedNeed form layout tests.
/services/all requestedNot verifiedNot verifiedText-level CTA observedPricing copy stale.
/proof/all requestedNot verifiedNot verifiedText-level CTA observedGeneric link labels; mobile accordion semantics unknown.
/resources/all requestedNot verifiedNot verifiedText-level CTA observedDuplicate catalog; download labels need touch-target check.
/diagnose-system/all requestedNot verifiedNot verifiedText-level CTA observedInput/result layout and local run not tested.

16. SEO and Index Hygiene

Search observations

The required site: searches returned no visible results in the available web search for:

  • site:longtermsoftware.com hello world
  • site:longtermsoftware.com pricing
  • site:longtermsoftware.com contact
  • site:longtermsoftware.com downloads
  • site:longtermsoftware.com "consulting@longtermsoftware.com"
  • site:longtermsoftware.com "AI for systems that cannot break"
  • site:longtermsoftware.com "LongTermSoftware.com"

This does not prove the site is unindexed, but it is enough to require Search Console verification.

SEO defect table

DefectEvidenceRecommendation
/pricing/ not confirmedFetch cache miss.Verify status/canonical and include in sitemap.
Stale /hello-world/ redirect bodyRedirect to / observed with old fixed-scope homepage copy.Purge cache and assert current body markers.
Duplicate resources/downloads/docs contentSame catalog appears on three routes.Distinguish intent and canonicalize.
Machine-readable evidence page not confirmedFetch cache miss.Verify route and include canonical.
Sitemap/robots not verifiedDirect open blocked.Verify via curl/Search Console.
Meta titles appear genericRenderer title often LongtermSoftware.com.Add unique titles per route.
RouteRecommended titleRecommended meta description
/`.NET / SQL Modernization Without Behavioral DriftLongTermSoftware`
/pricing/`Pricing for .NET Modernization and Reviewed AI ConsultingLongTermSoftware`
/services/`AI Consulting and .NET / SQL Modernization ServicesLongTermSoftware`
/contact/`Contact Mike KappelLongTermSoftware`
/fit-call/`Book a 20-Minute Fit CallLongTermSoftware`
/proof/`Claim-to-Evidence LedgerLongTermSoftware`

17. Performance and Technical UX

Lighthouse/performance status

Lighthouse was not run. See lighthouse/LIGHTHOUSE-NOT-RUN.md.

Required metricStatus
Homepage mobile performance scoreNot measured
Homepage desktop performance scoreNot measured
Pricing mobile performance scoreNot measured
Contact mobile performance scoreNot measured
Diagnostic mobile performance scoreNot measured
LCP / INP / TBT / CLSNot measured
Total page weightNot measured
Largest imageNot measured
Render-blocking resourcesNot measured
Unused JS/CSSNot measured

Manual/text-level performance risks

  • Multiple pages include large raster image assets according to manifest paths; verify responsive srcset, dimensions, lazy loading, and WebP/AVIF variants.
  • Docs page states constraints: no external font files, no jQuery/Bootstrap/Tailwind/Popper/Angular Material frontend payload. These must be validated with network/resource scans.
  • Diagnostic must work without remote calls after initial static asset load.

Headers/caching recommendations

  • Add cache-busting/versioning for theme CSS/JS/assets.
  • Add route QA stale-content assertions after redirects.
  • Verify CDN/server cache purges on aliases such as /hello-world/.
  • Use immutable caching for versioned static assets; no-cache or short cache for machine-readable truth files during launch.

18. Security and Privacy

AreaStatusEvidenceRiskRecommendation
HTTPSImplied by successful https:// web renderer routesLowStill verify HSTS.
Mixed contentNot testedNo browser/network scanUnknownRun browser console/network scan.
Security headersNot testedContainer curl unavailableUnknownVerify HSTS, CSP, X-Content-Type-Options, Referrer-Policy, frame policy.
security.txtNot verifiedDirect open blockedMediumServe /.well-known/security.txt as text/plain.
Public formsStrong warning text observedLowKeep no-secrets/PHI/source-code warnings.
Diagnostic privacyStrong warning text observedLowVerify no network request carries input.
Robots exposureNot verifiedrobots/sitemap not openedUnknownVerify no sensitive paths exposed.
WordPress version leakageNot testedNo source headers/HTML scanUnknownDisable unnecessary generator leakage if present.

19. Content and Messaging

Strong copy examples

TextWhy it works
Modernize fragile .NET and SQL systems without behavioral drift.Clear buyer problem and technical focus.
Preserve production behavior, map hidden rules, and govern AI workflows with human review...Specific, non-hype, risk-aware.
No AGI, consciousness, safety-certification, or formal vendor-partnership claims.Strong trust boundary.
Case narratives are public-safe templates until client-specific outcomes are approved for publication.Good proof hygiene.

Weak copy examples and rewrites

Current textRecommended textReason
Starting from $15k; detailed ranges belong in the buyer packet.Start with $150/hour diagnostic help or a $2,000/month advisory retainer; fixed-scope assessment pricing is scoped when deliverables are defined.Aligns with approved pricing path.
Start assessmentBook a 20-minute fit callMatches expected primary CTA.
Open routeOpen legacy-modernization proof routeImproves link purpose/accessibility.
LongTermSoftware.com is the buyer-facing consulting surface; MikeKappel.com is the proof library...LongTermSoftware helps teams modernize fragile systems and introduce reviewed AI without losing business behavior. MikeKappel.com and Teleodynamic.com provide supporting proof and methods.More buyer-facing.
Fallback email: consulting@longtermsoftware.comEmail Mike Kappel at mike@ns12.comAligns expected contact truth.

20. Severity-Ranked Findings

#IssueSeverityEvidenceAffected usersBusiness impactRecommended fixEstimated effortExpected UX impact
1/pricing/ could not be confirmed despite being a primary CTA target.CriticalWeb renderer returned cache miss for /pricing/ while homepage/footer link to pricing.Buyers comparing cost/options; AI evaluators.Pricing friction and trust loss.Ensure /pricing/ returns 200 and route QA asserts content.MHigh
2Contact truth is wrong/incomplete on public surfaces.CriticalContact page shows fallback consulting@longtermsoftware.com and omits expected email/phone/location/person.Ready-to-buy leads; procurement.Lost direct contact and inconsistent vendor records.Centralize contact profile and sync HTML/schema/REST/AI files.SHigh
3Services pages use outdated fixed-scope pricing.Critical/services/ and detail pages show $15k–$95k and $45k/qtr prices.Budget holders evaluating fit.Contradicts approved hourly/retainer ladder.Rewrite service card pricing paths and details.MHigh
4Four service detail pages use stale nav/template.HighRAG/App/Eval/Fractional pages show AI Systems, Downloads, Assessment nav.All visitors on those details.Weakens professional polish and route consistency.Use single header/footer partial for all virtual pages.MHigh
5Non-accumulative retainer language missing from observed pricing text.HighHomepage includes retainer prices but no rollover/bank/carry-forward boundary.Retainer prospects; procurement.Contract expectation ambiguity.Add visible note to pricing, FAQ, AI-reader files.SMedium
6AI manifest has stale contact and route inventory.HighManifest contact is consulting@longtermsoftware.com and omits /pricing/.AI agents/procurement tools.Automated vendor evaluations ingest wrong truth.Regenerate manifest from site truth snapshot.SHigh
7Machine-readable versions are inconsistent.HighManifest/llms 1.9.0; proof ledger/taxonomy 1.7.0.Technical reviewers.Staleness undermines trust.Version all exports from one build constant and include generated UTC.SMedium
8proof-ledger.csv failed fetch.HighResources CSV link returned web-renderer failure “(400) OK”.Spreadsheet/procurement reviewers.Broken evidence export.Serve CSV with text/csv and route QA parse check.SMedium
9/machine-readable-evidence/ failed fetch.HighWeb renderer cache miss for required evidence page.AI agents and technical reviewers.Proof discoverability gap.Verify route registration/caching and add route QA.SMedium
10route-qa-contract.json failed fetch.HighWeb renderer cache miss.Developers/QA agents.Automated checks cannot rely on contract.Serve static JSON and test content type.SMedium
11Expected pricing JSON and service-packages JSON are not discoverable.HighResources/manifest list no pricing-ladder.json or service-packages.json.AI agents/procurement.Pricing truth cannot be machine-validated.Add files, link them, expose REST parity.MMedium
12Old alias /hello-world/ produced stale homepage copy after redirect.MediumObserved stale fixed-scope pricing markers after redirect.Crawlers/cache users.Index/canonical inconsistency.Purge cache, enforce canonical body, add stale marker tests.SMedium
13Proof page link labels are too generic.MediumRepeated “Open route”.Screen-reader users; skimming buyers.Lower proof usability.Use descriptive evidence link labels.SMedium
14Diagnostic lacks observed copy/export/sample result controls.MediumParsed text only shows result placeholder.Users doing local triage.Lower conversion from diagnostic to fit call.Add sample input, copy result, fit-call CTA after result.MMedium
15Resources/downloads/docs duplicate content.Medium/resources/, /downloads/, and /docs/ repeat same catalog.Buyers and crawlers.Diluted information scent and possible SEO duplication.Differentiate route purposes and canonical metadata.MMedium
16Service detail CTAs often say Start assessment rather than fit call.MediumDetail pages line 30 and old pages line 92.Buyers not ready for assessment.CTA mismatch with expected primary action.Make primary CTA Book a 20-minute fit call; assessment secondary.SMedium
17FAQ lacks pricing/retainer answer.MediumFAQ covers services/boundaries, not price ladder.Budget/procurement users.More friction before contact.Add pricing and non-accumulation answer.SMedium
18Desktop/mobile/header/contrast were not verifiable in this pass.MediumContainer DNS prevented browser/Lighthouse; web renderer lacks non-PDF screenshots.Mobile/accessibility users.Unknown visual risk.Run Playwright/Lighthouse in CI or accessible environment.MUnknown until measured
19SEO search queries returned no results in available web search.Mediumsite:longtermsoftware.com queries returned empty.Organic visitors.Potential indexing/discoverability issue.Verify Search Console, sitemap, robots, index coverage.MMedium
20PDF accessibility not verified.LowPDF links visible; files not fetched/analyzed.Screen-reader users; procurement.Potential accessibility/compliance friction.Add HTML equivalents and tagged PDFs.MLow-Medium
21About page brand architecture may be too internally oriented.LowAbout begins with buyer surface/proof library/methods layer taxonomy.First-time buyers.Mild comprehension friction.Lead with buyer problem and credibility, then explain supporting brands.SLow-Medium

21. Implementation Backlog

Backlog itemPriorityTheme files likely affectedEvidenceAcceptance criteria
Make /pricing/ return confirmed 200 and expose the approved four-tier hourly/retainer/C2C ladder.Criticaltemplates/virtual-page.php, inc/content.php, inc/rest.php, route-qa-contract.json, tools/route-qa.pyPricing route fetch failed; homepage links to pricing; prompt requires pricing page.GET /pricing/ returns 200; title/H1 correct; four cards present; no overflow at 320px; route QA asserts exact rates and non-accumulation note.
Replace stale fixed-scope pricing on /services/ and service detail pages with current pricing path language.Criticalinc/content.php, templates/virtual-page.phpServices and details show $15k/$30k/$55k/$75k/$95k/$60k/$45k-quarter.Service cards show buyer problem, best fit, timeline, pricing path, deliverables, proof link, next step; fixed-scope is secondary only.
Publish direct contact truth consistently.Criticalinc/content.php, footer.php, inc/schema.php, inc/rest.php, ai-agent-manifest.json, llms.txtContact page and manifest use consulting@longtermsoftware.com or omit phone/location.Contact page, footer, fit-call sidebar, schema, llms, manifest, and REST contact-profile show Mike Kappel, mike@ns12.com, tel:(708)230-2304, Cicero IL.
Normalize stale header/footer on four service detail pages.Highheader.php, footer.php, templates/virtual-page.phpRAG/App/Evaluation/Fractional pages show old nav with AI Systems/Assessment/Downloads.Every route uses Services, Proof, Industries, Resources, About, Contact plus search and fit-call CTA.
Add visible non-accumulative retainer language wherever retainers are shown.Highinc/content.php, pricing page, FAQ, llms-full.txtHomepage pricing lacks rollover language.Plain-English note: unused retainer hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
Synchronize machine-readable pricing/contact/proof files.Highllms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json, downloads/*.json, inc/rest.phpManifest contact stale; proof ledger/taxonomy version 1.7.0 vs manifest 1.9.0; pricing files absent from manifest.All AI-reader files agree on version/date/contact/pricing/public routes; JSON validates; route QA compares HTML vs JSON vs REST.
Fix or verify proof-ledger.csv content type and response.Highdownloads/proof-ledger.csv, inc/rest.php, tools/route-qa.pyCSV link failed with web-renderer “(400) OK”.HEAD/GET return 200 text/csv; CSV parses; same row count as JSON.
Create or expose pricing-ladder.json and service-packages.json.Highdownloads/*.json, inc/rest.php, resources templateExpected assets not visible in resource inventory or manifest.JSON files return 200 application/json; linked from resources/machine-readable evidence; schema checked by tests.
Fix /machine-readable-evidence/ and route-qa-contract.json fetchability.Hightemplates/virtual-page.php, route-qa-contract.jsonBoth produced cache-miss fetch failures in audit renderer.Routes return 200 in curl and browser; listed links resolve without trailing slash ambiguity.
Replace generic proof links.Mediuminc/content.phpProof cards use repeated “Open route”.Each link label names its destination and claim.
Improve diagnostic conversion output.Mediumassets/js/app.js, templates/virtual-page.phpPrivacy copy visible, but copy/export/sample result not observed.Sample input button, local result, Copy result, Download sanitized summary, and fit-call CTA after result; no network send of input.
Add analytics vocabulary from requested event list while preserving no-runtime tracking boundary.Mediumdownloads/conversion-event-taxonomy.json, docs/*Existing taxonomy has generic names, not full requested list.JSON includes hero_cta_click, pricing_cta_click, fit_call_start, diagnostic_complete_local, etc.; data_sent_now remains false until approval.
Add FAQ pricing and retainer rollover answer.Mediuminc/content.phpFAQ lacks pricing truth and rollover boundary.FAQ answer reflects four pricing options and non-accumulative hours.
Reduce duplicate resources/downloads/docs repetition.Mediumtemplates/virtual-page.php, inc/content.php/resources/, /downloads/, and /docs/ repeat same resource catalog.Each route has distinct purpose: Resources for buyers, Downloads for assets, Docs for technical/agent QA.
Add route QA stale-cache test for /hello-world/ redirect.Mediumtools/route-qa.py, route-qa-contract.json/hello-world/ redirected to / but returned stale old homepage content in audit renderer.Redirect target body contains current hero/pricing markers, not old fixed-scope markers.
Add responsive header matrix tests.Mediumassets/css/app.css, header.php, tools/route-qa.pyPrompt requires 1366/1024/768/390/320 tests; browser unavailable during this pass.Automated screenshots/DOM metrics assert no horizontal scroll and no header wrapping at specified widths.
Add explicit schema contact and service Offer data.Mediuminc/schema.phpSchema not verified; contact truth missing from observed content.Organization/ProfessionalService schema includes current contact and service offers without unsupported claims.
Optimize proof page heading hierarchy.Lowinc/content.php, assets/css/app.cssRepeated H2 claim headings can clutter outline.One H1, section H2s, card H3s; screen-reader outline clean.
Add downloadable HTML alternatives for PDFs.Lowresources/downloads templates, docs/*PDF accessibility not verified.Each PDF has an HTML landing page with equivalent text and clear labels.
Verify security headers and security.txt with server access.Lowserver config, .well-known/security.txtContainer curl unavailable and direct web open blocked.HSTS, X-Content-Type-Options, Referrer-Policy, frame policy/CSP appropriate; security.txt returns 200 text/plain.

22. Exact Copy Recommendations

Pricing non-accumulation note

Retainer hours reserve monthly senior architecture capacity. Unused hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.

Contact card

Principal contact
Mike Kappel
mike@ns12.com
(708) 230-2304
Cicero, IL

Pricing card copy

Ad-hoc architecture help
$150/hour · no minimum
Best for targeted legacy-system, SQL, architecture, or AI workflow questions before a larger engagement.
CTA: Book a fit call
Monthly advisory retainer
$100/hour · 20-hour monthly minimum · $2,000/month
Best for teams that need recurring senior review, backlog shaping, and modernization/AI governance support.
CTA: Discuss monthly advisory
Annual modernization retainer
$80/hour · 40-hour monthly minimum · $3,200/month · annual contract
Best for sustained modernization, parity mapping, release planning, and reviewed AI workflow delivery.
CTA: Discuss annual capacity
Embedded architect C2C
$75/hour · 40 hours/week · six-month minimum · limited availability
Best only when LongTermSoftware is a strong mutual fit for embedded architecture capacity.
CTA: Check availability

Diagnostic result CTA

This local triage suggests the best first step is a .NET / SQL Modernization Blueprint discussion. Copy this sanitized summary and book a 20-minute fit call. Do not include secrets, credentials, PHI, source code, or confidential production data.

23. Theme/File Change Recommendations

FileRecommended change
header.phpCentralize expected nav and fit-call CTA; remove stale service-detail nav variants.
footer.phpAdd direct contact card and machine-readable/pricing links; sync footer nav.
front-page.phpTighten hero, reorder homepage, add retainer non-accumulation note.
templates/virtual-page.phpEnsure all virtual routes use same header/footer and current pricing/contact truth.
inc/forms.phpAdd accessible validation, field labels, no-secret warnings, and fit-call/contact event hooks.
inc/schema.phpAdd current contact/profile schema and service Offer data without unsupported claims.
inc/rest.phpExpose /pricing, /pricing-consistency, /contact-profile, /site-truth-snapshot, proof endpoints.
inc/content.phpReplace stale fixed-scope pricing and old CTA copy.
inc/enhancements-v*.phpRemove stale route/nav overrides; generate site truth from one source.
assets/css/app.cssAdd responsive header/card tests; ensure focus/contrast/touch targets.
assets/js/app.jsDiagnostic local-only result, copy/export, no data transmission.
route-qa-contract.jsonAdd pricing/contact/viewport/redirect/cache assertions.
tools/route-qa.pyAdd HTTP/content-type, JSON parity, stale marker, accessibility smoke, and screenshot tests.
llms.txt / llms-full.txtAdd current contact and pricing truth; generated UTC/version parity.
ai-agent-manifest.jsonReplace stale contact, add pricing route/assets/REST endpoints.
.well-known/ai-plugin.jsonSync contact/pricing/prohibited claims.
.uai/*Update handoff memory with pricing/contact truth and route defects.
docs/*Distinguish buyer docs from implementation QA docs; include this audit summary.

24. Tests to Add to Route QA

  1. GET /pricing/ returns 200, canonical /pricing/, H1 contains pricing, and four card labels/rates match expected.
  2. GET /contact/, /fit-call/, footer, manifest, llms, schema, and REST contact-profile contain Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, IL.
  3. All public HTML routes have header nav sequence Services, Proof, Industries, Resources, About, Contact.
  4. No public route contains stale nav labels AI Systems or Assessment in primary nav.
  5. No public service page contains stale fixed-scope-only markers unless explicitly labeled as fixed-scope example.
  6. Retainer pages include non-accumulative language.
  7. /downloads/pricing-ladder.json, /downloads/service-packages.json, REST pricing, llms, manifest, and pricing HTML match exact values.
  8. /downloads/proof-ledger.csv returns 200 and parses with same row count as JSON.
  9. /route-qa-contract.json returns 200 application/json and validates schema.
  10. /machine-readable-evidence/ returns 200, links AI-reader files, and is human-readable.
  11. Old aliases redirect to current routes and response bodies contain current markers.
  12. site_truth_snapshot.version equals manifest/llms/proof exports unless intentionally versioned with compatibility notes.
  13. Forbidden claims test: no AGI/consciousness/certification/formal partnership/guaranteed compliance/autonomous production authority claims.
  14. Playwright viewport test asserts no horizontal scroll at 320px and header does not wrap incorrectly.
  15. Keyboard test tabs through skip link, logo, nav, search, CTA, form fields, diagnostic controls.
  16. Diagnostic network test asserts pasted input is not sent in request payload/query/body/beacon.
  17. Lighthouse CI budgets for homepage/pricing/contact/diagnostic mobile.
  18. Link-purpose test flags repeated generic labels: Open route, Read more, Click here, Open resource.
  19. PDF landing-page test confirms every PDF has an HTML equivalent.
  20. Security smoke test checks HTTPS, HSTS, content-type options, referrer policy, and security.txt.

25. Final Recommendation

Do not package the next WordPress theme ZIP until the pricing, contact, stale service templates, and machine-readable synchronization defects are fixed. The homepage direction is strong enough to preserve, but the site currently sends conflicting signals to buyers and AI evaluators.

Minimum release gate:

  • /pricing/ confirmed and synchronized.
  • Direct contact truth visible and machine-readable.
  • All service detail pages use current header/nav/CTA and pricing posture.
  • Machine-readable files regenerated from one truth source.
  • Route QA covers pricing/contact/proof/diagnostic/viewport/stale redirects.
  • Screenshots and Lighthouse artifacts captured from a browser-capable environment.

26. Prompt for the next AI theme-build pass

You are building the next LongTermSoftware.com WordPress theme ZIP. Use the live audit findings below as implementation requirements.

Current live findings:
- Homepage direction is good: conventional nav, behavior-preserving .NET/SQL modernization hero, fit-call CTA, proof boundaries, and updated pricing ladder language.
- /pricing/ was not confirmed in audit tooling and must be treated as a critical route to implement/test.
- /contact/ shows consulting@longtermsoftware.com and omits the approved direct contact profile.
- /services/ and service detail pages still show old fixed-scope pricing such as $15k, $30k, $55k, $75k, $95k, $60k, and $45k/quarter.
- Four service detail pages use stale nav: Services, AI Systems, Case Studies, Proof, Downloads, Assessment, Contact.
- llms.txt and ai-agent-manifest.json exist, but manifest contact is stale and pricing routes/assets are missing.
- proof-ledger.json exists but version is behind manifest; proof-ledger.csv and route-qa-contract.json must be verified/fixed.
- /diagnose-system/ has good local-only privacy text, but local network behavior, copy/export result, and post-result CTA must be implemented/tested.
- Search/SEO, screenshots, Lighthouse, accessibility, and security headers need browser/CI verification.

Top 10 implementation priorities:
1. Implement /pricing/ with the exact four-tier pricing ladder.
2. Add non-accumulative retainer hours language anywhere retainers appear.
3. Replace all stale fixed-scope-only service pricing with the approved pricing path.
4. Normalize header/nav/search/fit-call CTA across every public route.
5. Update contact truth everywhere: Mike Kappel, mike@ns12.com, (708) 230-2304, Cicero, IL.
6. Regenerate llms.txt, llms-full.txt, ai-agent-manifest.json, .well-known/ai-plugin.json, pricing-ladder.json, service-packages.json, proof-ledger exports, and REST endpoints from one site_truth object.
7. Fix /machine-readable-evidence/, /route-qa-contract.json, /downloads/proof-ledger.csv, and all REST endpoints.
8. Improve proof/accessibility link labels and card heading hierarchy.
9. Improve diagnostic with sample input, local result, copy/export, and post-result fit-call CTA without sending pasted text.
10. Add Playwright/Lighthouse/route QA tests for routes, redirects, pricing/contact parity, viewports, accessibility, and forbidden claims.

Exact routes/files to change:
- header.php, footer.php, front-page.php, templates/virtual-page.php
- inc/content.php, inc/forms.php, inc/schema.php, inc/rest.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
- downloads/pricing-ladder.json, downloads/service-packages.json, downloads/proof-ledger.json, downloads/proof-ledger.csv, downloads/conversion-event-taxonomy.json
- docs/*, .uai/*

Pricing acceptance criteria:
- Ad-hoc: $150/hour, no minimum.
- Monthly advisory: $100/hour, 20-hour monthly minimum, $2,000/month.
- Annual modernization: $80/hour, 40-hour monthly minimum, $3,200/month, annual contract.
- Embedded architect C2C: $75/hour, 40 hours/week, six-month minimum, limited availability.
- Retainer hours do not roll over, accrue, bank, or carry forward unless a signed order form says otherwise.
- Monthly Advisory or Annual Modernization is visually framed as the practical/default path. C2C is limited availability, not default.

Contact acceptance criteria:
- HTML, footer, fit-call, schema, llms, manifest, REST contact-profile all show Mike Kappel, mike@ns12.com, tel link for (708) 230-2304, Cicero, IL.
- consulting@longtermsoftware.com is not the primary public contact unless explicitly retained as secondary.

Claims not to make:
- No AGI, consciousness, safety certification, formal vendor partnership, guaranteed compliance, autonomous production authority, unreviewed production outcomes, unsupported client metrics, or private-network probing authority.

Automated tests to run:
- route QA for all listed routes and old aliases.
- pricing/contact HTML vs JSON vs REST vs AI-reader parity.
- Playwright screenshots at 1440x900, 1366x768, 1280x800, 1024x768, 768x1024, 390x844, 375x667, 320x568.
- Lighthouse mobile/desktop for home, pricing, contact, diagnostic.
- axe accessibility checks plus keyboard-only header/menu/search/forms/diagnostic.
- diagnostic network test proving pasted input is never transmitted.
- broken internal link scan and content-type checks.
- sitemap/robots/security.txt checks.

Final response requirements:
- Provide a WordPress theme ZIP.
- Provide updated route-audit results, screenshots, Lighthouse outputs, and changed-file summary.
- Clearly separate confirmed fixes from items needing WordPress admin, analytics/Search Console, server/CDN access, or human approval.