.NET / SQL / Enterprise Engineering

1. Required project orientation

Report summary

You are continuing the MikeKappel.com WordPress theme improvement loop from this corrected ZIP package:

Status
Research archive item
Category
.NET / SQL / Enterprise Engineering
Length
1,477 words
Reading time
7 minutes
Report type
architecture

Key topics

  • .NET / SQL / Enterprise Engineering
  • .NET
  • SQL
  • Enterprise Engineering
  • AI
  • UAI
  • WordPress
  • C#
  • TypeScript

Research provenance

Archive status
Research archive item
Content identity
sha256:46c38e67e7549c4070ab879353d8c8085d07492c6ecaa38fdf43ad818b2525b8

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

You are continuing the MikeKappel.com WordPress theme improvement loop from this corrected ZIP package:

/mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.58.zip

Create the next corrected package:

/mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip

Mission: make v8.8.59 an installed/deployed WordPress runtime and browser QA closure pass. v8.8.56 fixed public rendering defects; v8.8.57 refreshed metadata, hardened breadcrumb URL normalization, aligned utility noindex inventory, and corrected QA-boundary metadata; v8.8.58 refreshed package metadata, preserved the prior fixes, expanded utility noindex/robots/asset-header coverage, completed static and PHP-stub checks, and recorded that the available public deployed site appeared to lag behind the package. Real installed WordPress/browser QA remained unavailable. Do not add broad new features unless required to fix a verified defect.

Do not redesign the site. Do not convert the site to a client-side application. Preserve the existing server-rendered WordPress theme architecture.


Before editing files, extract the ZIP and read the current guidance/state files:

  1. AGENTS.md
  2. .uai/readme.human
  3. .uai/identity.uai
  4. .uai/world-context.uai
  5. .uai/totem.uai
  6. .uai/taboo.uai
  7. .uai/short-term-memory.uai
  8. .uai/coding-standards.uai
  9. .uai/system-profile.uai
  10. .uai/receiver-brief.uai
  11. .uai/startup-packet.uai
  12. .uai/project-handoff.uai
  13. .uai/file-handoff.uai
  14. .uai/long-term-memory.uai
  15. .uai/public-facing-language-guard.uai
  16. .uai/navigation-compact-menus.uai
  17. docs/index.md
  18. docs/uai-memory-package-current-alignment.md
  19. docs/report-to-doc-curation.md
  20. route-qa-contract.json
  21. research-dashboard.json
  22. runtime-health.json
  23. research-utility-noindex-inventory.json
  24. mk-v8.8.58-change-summary.md if available beside the ZIP
  25. mk-v8.8.58-validation-report.md if available beside the ZIP
  26. mk-v8.8.58-live-render-qa.md if available beside the ZIP

Treat v8.8.58 as the authoritative package baseline.


2. Release target

Update the package from:

8.8.58

to:

8.8.59

The final ZIP must extract into exactly one top-level directory:

mikekappel-enterprise-ai-prod-theme/

The final ZIP filename must be:

mikekappel-enterprise-ai-prod-theme-v8.8.59.zip

3. Preserve prior fixes

Do not revert these fixes:

  1. Research Dashboard .uai front-door rendering reads uaiFrontDoor.files and renders real cards for:
  • .uai/identity.uai
  • .uai/world-context.uai
  • .uai/totem.uai
  • .uai/taboo.uai
  • .uai/short-term-memory.uai
  • .uai/coding-standards.uai
  1. route-qa-contract.json, research-dashboard.json, uai-memory-manifest.json, research-utility-noindex-inventory.json, and their assets/data mirrors remain byte-identical.
  2. mk_v887_render_reviewer_breadcrumbs() deduplicates breadcrumb hrefs and does not render the current page as a link.
  3. mk_v887_normalize_reviewer_breadcrumb_path() normalizes query strings, hash fragments, trailing slashes, absolute URLs, and bare absolute home URLs consistently.
  4. Source-level inline separators avoid extracted/accessibility text such as:
  • documentation..NET
  • modernization.SQL
  • Power BI/DAX.TypeScript
  • app.LongTerm
  • software.CI/CD
  • engagement.Angular/RxJS
  • AI.NET
  • C#ASP.NET
  1. The duplicate phrase reviewable handoff evidence, reviewable handoff evidence remains removed.
  2. research-utility-noindex-inventory.json includes current utility routes/artifacts and says not to list them in sitemap.xml unless promoted.
  3. Compact navigation source hooks remain present for ARIA state, inert fallback, Escape, outside click, link click, focus return, breakpoints, z-index guard, and descendant tab-stop fallback; verify the behavior in a real browser during v8.8.59.
  4. .uai/totem.uai and .uai/taboo.uai remain generated-needs-review unless Mike supplies exact approval wording.

4. Primary v8.8.59 objectives

4.1 Install/deploy the package before browser QA

The v8.8.58 pass sampled the public deployed site and it appeared to be running an older package, even though package-local static and PHP-stub checks passed. Do not treat old production output as validation of v8.8.59.

Before completing runtime/browser QA, verify that the tested environment is actually running the package under test by checking at least:

  • functions.php/runtime theme version reports 8.8.59 after the release bump.
  • /route-qa-contract.json reports version: "8.8.59".
  • /research-dashboard.json reports version: "8.8.59".
  • /wp-json/mk/v1/runtime-health reports 8.8.59 where WordPress REST is available.

If the deployed site still reports an older version, document deployment lag and do not claim package runtime QA.

4.2 Complete real WordPress runtime/browser route QA

Use a deployed site, local WordPress runtime, browser automation, or equivalent real HTTP/browser environment. Validate these routes as real pages/endpoints:

/
/career/
/experience/
/docs/
/reports/
/report-reader/
/research-search/
/research-dashboard/
/route-qa-contract.json
/resume/
/portfolio-review-guide/
/evidence-map/
/sitemap.xml
/robots.txt

For each route, record:

  • HTTP status
  • final URL
  • page title or endpoint type
  • runtime package version evidence, where available
  • PHP warning/notice/fatal text, if any
  • duplicate breadcrumb evidence, if any
  • whether the current page is linked in breadcrumbs
  • obvious visual/layout regression, if any
  • major accessibility/text-extraction regression, if any
  • noindex/noarchive/nosnippet behavior where applicable

If no real runtime/browser is available, do not claim browser QA. Keep QA-blocked metadata truthful and document the limitation.

4.3 Validate REST endpoints where WordPress is available

Validate these endpoints against the runtime:

/wp-json/mk/v1/runtime-health
/wp-json/mk/v1/route-qa-contract
/wp-json/mk/v1/report-search
/wp-json/mk/v1/reports-search
/wp-json/mk/v1/reports
/wp-json/mk/v1/report-reader-index
/wp-json/mk/v1/report-stale-index
/wp-json/mk/v1/research-search
/wp-json/mk/v1/research-dashboard
/wp-json/mk/v1/research-search-performance
/wp-json/mk/v1/research-search-shards
/wp-json/mk/v1/profile
/wp-json/mk/v1/resume
/wp-json/mk/v1/evidence-map

Expected behavior:

  • Responses are valid JSON.
  • Runtime route count matches route-qa-contract.json.
  • Runtime REST endpoint count remains 14 unless intentionally changed and documented.
  • Runtime static artifact count remains 19 unless intentionally changed and documented.
  • Private helper artifact count remains 4 unless intentionally changed and documented.
  • Search query inputs are normalized, bounded, and sanitized.
  • Private helper indexes remain unavailable as public JSON.

4.4 Responsive compact navigation QA

In a real browser, test at least these viewport widths:

390
761
820
980
1366

Validate:

  • compact grouped navigation opens and closes predictably
  • keyboard access works
  • Escape closes open navigation/disclosures
  • outside click closes open navigation where intended
  • link click closes open navigation where intended
  • focus remains visible
  • focus returns to the visible compact toggle where intended
  • aria-expanded, aria-hidden, inert, data-state values, and descendant tab-stop fallback remain synchronized
  • menu z-index keeps open panels above content cards
  • tablet breakpoint behavior remains stable from 761px through 980px
  • body scroll behavior is not broken when navigation is open

4.5 Research/docs/noindex boundary QA

Verify with live headers/meta/source where possible:

  • /docs/ remains public curated Architecture Notes.
  • /docs/ is listed in sitemap.xml.
  • /reports/ remains a noindex Research Archive.
  • /report-reader/, /research-search/, /research-dashboard/, /route-qa-contract.json, /research-dashboard.json, and utility JSON mirrors remain noindex/noarchive/nosnippet or disallowed/omitted as intended.
  • robots.txt disallows utility/research surfaces but does not expose private helper data.
  • Private helper artifacts remain PHP-guarded under inc/private-data/.
  • Private helper indexes are not mirrored to public JSON.

4.6 Verify Research Dashboard runtime rendering

In the real rendered /research-dashboard/ page, confirm:

  • all six .uai front-door cards render real paths
  • no blank headings
  • no visible n/a for known .uai files
  • counts render as expected:
  • active docs: 59
  • retired docs: 121
  • stale reports: 9
  • stale research-search hits: 0
  • no PHP warnings/notices
  • version/current-state metadata shows 8.8.59 after the release bump
  • no current-state check says share version 8.8.38

4.7 Verify breadcrumb and text-extraction fixes in runtime

In the real rendered runtime, confirm:

  • /career/, /docs/, /resume/, /experience/, /portfolio-review-guide/, and /evidence-map/ do not render duplicate reviewer breadcrumbs.
  • The current page is not linked in breadcrumbs.
  • Runtime extracted text does not include:
  • documentation..NET
  • modernization.SQL
  • Power BI/DAX.TypeScript
  • app.LongTerm
  • software.CI/CD
  • engagement.Angular/RxJS
  • AI.NET
  • C#ASP.NET

4.8 Residual metadata update

Update all current package/version surfaces to 8.8.59:

functions.php
style.css
theme.json
route-qa-contract.json
assets/data/route-qa-contract.json
research-dashboard.json
assets/data/research-dashboard.json
runtime-health.json
uai-memory-manifest.json
assets/data/uai-memory-manifest.json
research-utility-noindex-inventory.json
assets/data/research-utility-noindex-inventory.json
.uai/*.uai
.uai/exports/*
docs/*.md

Do not blindly replace historical references. Older versions may remain only when clearly historical, release-summary, prior-audit, or embedded in archived report/search records.


5. Hard constraints

Preserve all of the following:

Server-rendered WordPress theme
PHP 7.4+ compatibility
JavaScript as progressive enhancement
No Composer dependency
No npm/build-runtime dependency
No database migrations
No admin-only public rendering dependency
No secrets
No credentials
No private client data
No private source code
No deployment details
Primary stack: AI / .NET / SQL / TypeScript
Confirmed Angular experience at Info724 and LongTerm Software
Two-page resume PDF/DOCX as primary public download
/docs/ as curated Architecture Notes
/reports/ as noindex Research Archive
PHP-guarded private helper data under inc/private-data/
Compact grouped navigation
z-index guards
keyboard access
tablet and phone behavior

Do not mirror private helper indexes to public JSON.

Keep these files as generated-needs-review unless exact approval wording is provided by Mike:

.uai/totem.uai
.uai/taboo.uai

Do not invent approvals.


6. Static validation commands

Run at minimum from the extracted theme root:

php -l functions.php

find . -type f -name '*.php' -print0 | xargs -0 -n1 php -l

python3 - <<'JSON_PARSE_CHECK'
import json
from pathlib import Path

failures = []
for path in Path('.').rglob('*.json'):
    try:
        json.loads(path.read_text(encoding='utf-8'))
    except Exception as exc:
        failures.append((str(path), str(exc)))

if failures:
    for path, exc in failures:
        print(f'JSON FAIL: {path}: {exc}')
    raise SystemExit(1)

print('JSON OK')
JSON_PARSE_CHECK

node --check assets/js/site.js

cmp -s route-qa-contract.json assets/data/route-qa-contract.json \
  && echo 'route-qa mirror OK' \
  || (echo 'route-qa mirror mismatch' && exit 1)

cmp -s research-dashboard.json assets/data/research-dashboard.json \
  && echo 'research-dashboard mirror OK' \
  || (echo 'research-dashboard mirror mismatch' && exit 1)

cmp -s uai-memory-manifest.json assets/data/uai-memory-manifest.json \
  && echo 'uai-memory-manifest mirror OK' \
  || (echo 'uai-memory-manifest mirror mismatch' && exit 1)

cmp -s research-utility-noindex-inventory.json assets/data/research-utility-noindex-inventory.json \
  && echo 'research utility noindex mirror OK' \
  || (echo 'research utility noindex mirror mismatch' && exit 1)

grep -R "share version 8.8.38" -n . \
  && (echo 'stale version text found' && exit 1) \
  || echo 'no stale 8.8.38 current-state copy found'

grep -R "reviewable handoff evidence, reviewable handoff evidence" -n . \
  && (echo 'duplicated package copy found' && exit 1) \
  || echo 'duplicated package copy fixed'

unzip -tq /mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip

Also verify:

  • functions.php constant is 8.8.59.
  • style.css version is 8.8.59.
  • theme.json preserves WordPress schema version 2 and carries package metadata for 8.8.59.
  • route QA root and asset mirror are version 8.8.59.
  • research dashboard root and asset mirror are version 8.8.59.
  • runtime health metadata is version 8.8.59.
  • route count remains 14 unless intentionally changed and documented.
  • API route count remains 14 unless intentionally changed and documented.
  • static artifact count remains 19 unless intentionally changed and documented.
  • private helper artifact count remains 4 unless intentionally changed and documented.
  • Research Dashboard active/retired/stale counts remain 59 / 121 / 9 / 0 unless intentionally changed and documented.
  • resume PDF and DOCX exist.
  • .uai/totem.uai and .uai/taboo.uai remain generated-needs-review.
  • ZIP extracts cleanly into exactly one top-level directory: mikekappel-enterprise-ai-prod-theme/.

7. Packaging requirements

Create final package:

/mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip

The ZIP must:

extract cleanly
contain exactly one top-level directory
use the top-level directory name mikekappel-enterprise-ai-prod-theme/
not include macOS metadata junk
not include temporary logs
not include node_modules
not include vendor
not include cache directories
not include editor backups

Validate:

unzip -tq /mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip

python3 - <<'ZIP_ROOT_CHECK'
import zipfile
from pathlib import Path

zip_path = Path('/mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip')
with zipfile.ZipFile(zip_path) as z:
    names = [n for n in z.namelist() if n and not n.endswith('/')]
    roots = sorted({n.split('/')[0] for n in names})

print('top-level roots:', roots)

if roots != ['mikekappel-enterprise-ai-prod-theme']:
    raise SystemExit('ZIP root check failed')
ZIP_ROOT_CHECK

8. Required deliverables

Produce these files:

/mnt/data/mikekappel-enterprise-ai-prod-theme-v8.8.59.zip
/mnt/data/mk-v8.8.59-change-summary.md
/mnt/data/mk-v8.8.59-validation-report.md
/mnt/data/mk-v8.8.59-live-render-qa.md
/mnt/data/mk-v8.8.60-next-prompt.md

9. Report requirements

mk-v8.8.59-change-summary.md

Include:

  • release version
  • source ZIP
  • output ZIP
  • files changed
  • defects fixed
  • installed/deployed runtime QA findings and fixes
  • responsive navigation findings and fixes
  • research/docs/noindex boundary findings
  • metadata/version updates
  • known limitations

mk-v8.8.59-validation-report.md

Include exact results for:

  • PHP syntax validation
  • JSON parse validation
  • JavaScript syntax validation
  • route-qa mirror byte comparison
  • research-dashboard mirror byte comparison
  • uai-memory-manifest mirror byte comparison
  • research-utility-noindex mirror byte comparison
  • stale 8.8.38 current-copy grep
  • duplicated phrase grep
  • ZIP integrity check
  • single-root ZIP check
  • version sanity check
  • resume PDF/DOCX existence
  • .uai/totem.uai and .uai/taboo.uai generated-needs-review preservation

Be explicit about anything not run.

mk-v8.8.59-live-render-qa.md

Include:

  • environment tested
  • proof that tested runtime was running v8.8.59, or clear deployment-lag caveat
  • routes checked
  • method used
  • runtime/browser used, if any
  • status per route
  • HTTP status and final URL per route where available
  • viewport widths checked, if any
  • breadcrumb observations
  • Research Dashboard .uai observations
  • text-extraction observations
  • warning/notice observations
  • noindex/noarchive/nosnippet observations
  • REST endpoint observations
  • anything not checked due to missing runtime/browser access

Do not claim browser QA was completed if no browser/runtime was used.

mk-v8.8.60-next-prompt.md

Create a complete recursive continuation prompt for the next package pass. Do not leave it as a placeholder.


10. Final response format

The final response must include these sections:

## v8.8.59 status summary

## Artifacts

## Validation status

## Live/browser QA status

## Full recursive next prompt

Under Artifacts, include links to all required deliverables.

Under Validation status, state what passed, what failed, and what was not run.

Under Live/browser QA status, distinguish static checks from real browser/runtime checks.

Under Full recursive next prompt, paste the full contents of mk-v8.8.60-next-prompt.md.