Technical Appendix Not required reading to evaluate the demos

Technical Appendix

Verification run logs, publication/deployment history, and editorial reconciliation notes for the Chrisian technical prototype portfolio. This is engineering record-keeping, not product documentation — see the main portfolio page for the five featured demonstrations, the 54-app catalog, validation discipline, and the current acceptance-criteria scorecard.

Main page: portfolio_summary.html
Internal checklist: docs/portfolio-revision-checklist.md (not published)
A1

Full combined test run — 2026-11-04, local review pass

Pass counts here are test pass counts, not end-to-end accuracy — they confirm the pure logic (anchor verification, schema validation, numbering-gap detection, domain checks) behaves correctly against hand-built fixtures and tamper cases. None of this portfolio measures accuracy against a held-out, independently labeled dataset; no such dataset exists for any of these five demos.

Full combined test run — reproduced 2026-11-04, not an earlier result restated

Run 2026-11-04, 10:12 PST, against the local working tree on top of commit f5d7db3, including the uncommitted semantic-tagging-linking export fix (see main page §08) — all of it was committed afterward as a217ed4. Reproduce with cd apps/<app> && npm install && npm test for each.

AppTestsPassFailFixture hash (sha256, first 16 hex)
Semantic Tagging & Linking1111091f69608ebf51f3a
OA Journal JATS/NLM Conversion990d8bd07e15475d0ce
Academic PDF Parsing12120b3e9840b77f53ba2
Lease Abstraction1212083a54679959a76df
Content Detector12120838a05371e0d4fe6

Total: 56 of 56 committed tests passed. Build/lint also re-run clean across all five apps the same session (one pre-existing, unrelated ESLint warning in jats-nlm-conversion — an unused export — not introduced by that revision).

Where a README result is cited instead of re-run

Where a README claims a result from a live call to the real Anthropic API, it is labeled Described on the main page's §08 and was not re-run during the 2026-11-04 local review pass — re-running it would call the real API and was out of scope for that pass. No live Anthropic API call was made during that local review pass. Every "Tested" result from that pass is a real, committed test that does not call the live API. (Separately, live spot-checks including real API calls were later run after deployment — see §A3 below.)

A2

Editorial reconciliation history

Reconciling "14" vs. "Eleven" — the metric this page used to show

The homepage metrics grid previously read "14" QA catches while the verification section below it said "Eleven." Resolved by checking the one thing that's actually enumerable: the real .card entries in that section itself. There are eleven. The metric box now reads 11, matching what the page can actually show, not a number carried over from an earlier draft that can no longer be reconciled against a specific list.

What was not checked during the local review pass (2026-11-04, before publication)

  • The live deployment at poc.chrisianinc.com was not yet verified at the time this was first written. All test runs and build checks up to that point were run against the local working tree, not the running production instance — see §A3 below for what changed after that.
  • Mobile layout and keyboard navigation were checked visually in a local browser pane against the static page, not against a real mobile device or a screen reader at that time.
  • The other 49 apps' own public HTML/JS bundles and metadata were not re-swept for leaked material in that pass — only site/portfolio_summary.html and site/index.html had been.

Superseded by later work — see the main page's current AC-02/AC-09 scorecard rows for what has since been checked.

A3

Publication & deployment history

Publication — 2026-11-04, 5 featured apps

Both static pages (portfolio_summary.html, index.html) were deployed to poc.chrisianinc.com (previous live versions backed up on the server first). The 5 featured apps' code — the sample-only enforcement, the matchAiFindings extraction, and the semantic-tagging-linking export fix — was then pulled, rebuilt, and restarted on the live server, one app at a time, checking memory headroom between each restart rather than all at once. Every app was re-verified against the real live endpoint after restart, not assumed working from a clean restart alone: an unapproved request still correctly returns HTTP 400 on all 5, and the real bundled sample runs end to end through the real Anthropic API on all 5 (confirmed by reading each real response body, not just a 200 status). No other prototype on the shared host was disrupted by the restarts.

Sample-only sweep — 2026-11-04, remaining 49 apps

AC-03's backend rule was extended from the 5 featured apps to all 54. Every app's job-creation route was rewritten to accept only an approved fixture/sample identifier and resolve all job content (file bytes, pasted text, structured config, and — for the two apps that fetch a real external source — the URL/query itself) from a bundled constant or file on disk; none of the 54 routes read real content from the request body anymore. For the ~44 apps with no pre-existing bundled sample, one small, clearly-synthetic sample was written and bundled per app (fictional companies, people, and case names — never real data). npx tsc --noEmit is clean across all 54 apps.

Deployed the same day. All 49 apps were pulled, rebuilt, and restarted on the live server, one at a time, checking memory headroom between restarts — the same discipline used for the first 5. Every one of the 49 was re-verified directly against its real live endpoint after restart, not sampled: an unapproved/bogus-fixtureId request still correctly returns HTTP 400 on all 49. A further handful were run to completion against the real live endpoint, including both freshly-generated binary fixtures (confirming the files themselves survived the deploy) and one real live Anthropic API call. All 60 processes on the shared host stayed online throughout, swap usage dropped rather than climbed, and PayEngine was confirmed unaffected.