Scenarios
Coverage Matrix
Analysis
Comment Summary
Prompt
Optimize
Issues
Recurring Patterns
Recommendations
Gap Analysis
Sessions
Deployment
ID Scenario Category Severity v3 Status Patterns Update Review
IDPatternv3 SectionStatusDescriptionFix
IDPriorityTitleSectionWhat to ChangeFixesStatus
Show: Expand a sub-category to see the comment table for each scenario · use the dropdown to mark Pass / Fail / To Confirm

A scenario is auto-marked Pass only if its Issue Identified or Additional Notes contains the phrase "No issues" or "No major issues". Everything else defaults to To Confirm. Use the dropdowns in the Coverage Matrix tab to manually set Pass / Fail / To Confirm. Roll-ups: a sub-category passes only if every scenario passes; a category passes only if every sub-category passes; any Fail propagates upward.

By Category

Top-level categories rolled up from sub-categories

PassFailTo Confirm

By Sub-Category

Sub-categories rolled up from individual scenarios

PassFailTo Confirm

By Sub-Sub-Category

Individual scenarios (the leaf level)

PassFailTo Confirm

Pass / Fail by Category

Per-category counts of individual scenarios (not roll-ups). Sorted by Fail count descending.

Every scenario's Issue Identified field, checked against the saved Vera Joy prompt by AI. If the prompt already addresses an issue, it's marked Resolved with a green check and a quote from the prompt as evidence; otherwise it stays Open. Results are cached per-browser — re-run the check after updating the prompt.

All comments added in the Coverage Matrix, grouped by Category → Sub-category → Scenario. Comments are stored in this browser's localStorage. Use Export comments to share with the team.

Paste the current production Vera Joy prompt from Vapi below. This is the single source of truth used by the Optimize tab to compare against FAIL scenarios. Anyone signed in can update it; the server stores the latest version with author + timestamp.

AI-driven prompt optimizer. Runs Claude over every scenario currently marked Fail in the Coverage Matrix, compares them against the saved Vera Joy prompt, and produces prioritized P0/P1/P2 recommendations. Results are cached in this browser — click Run AI Analysis to refresh.

SetTitle# ScenariosSummary

Deploy this tracker at dcaagenttracker.teleperson.com

This file is fully self-contained — no backend, no build step. Pick one of the hosting options below.

Option 1: Cloudflare Pages (recommended)

1. Sign in to Cloudflare → Pages → Create project → Direct upload.
2. Drop in this single index.html file.
3. After deploy, go to: Pages → your project → Custom domains → Set up a custom domain → enter "dcaagenttracker.teleperson.com".
4. Cloudflare will give you a CNAME target. Add that as a CNAME in your DNS.
5. Cloudflare provisions an SSL cert automatically.

Option 2: Netlify

1. Netlify → Sites → Drop the index.html file into the upload area.
2. Site settings → Domain management → Add custom domain → "dcaagenttracker.teleperson.com".
3. Netlify gives you the DNS records (CNAME). SSL is automatic.

Option 3: AWS S3 + CloudFront / Option 4: GitHub Pages

S3+CloudFront: bucket → static hosting → CloudFront origin → ACM cert in us-east-1 → CNAME in DNS.
GitHub Pages: push to repo → Settings → Pages → custom domain → CNAME to org.github.io.

DNS — at the Teleperson registrar

Type:  CNAME
Name:  dcaagenttracker
Value: (provided by your hosting choice above)
TTL:   300

Updating the prompt — three workflows

1. Copy to clipboard (works anywhere). Click UpdateCopy patch → paste into wherever the prompt lives.

2. Save directly to the local .md file. Open the tracker, click Link prompt file in the header, pick Vera_Joy_Prompt_v3_Optimized.md, grant write permission. Now Update → Append patch to file writes the change directly to disk as a marked block. Cowork picks up the change next time it reads the file. Works in Chrome and Edge only (Chromium File System Access API).

3. Push to Vapi (future). Vera Joy is deployed in Vapi. With a small Cloudflare Worker holding a Vapi API key, a button here could PATCH the assistant's system prompt directly. Sketch:

// worker.js (Cloudflare Worker — pseudocode)
export default {
  async fetch(req, env) {
    if (req.method !== 'POST') return new Response('', {status: 405});
    if (req.headers.get('x-shared-secret') !== env.SHARED) return new Response('', {status: 401});
    const { newSystemPrompt } = await req.json();
    return fetch(`https://api.vapi.ai/assistant/${env.VAPI_ASSISTANT_ID}`, {
      method: 'PATCH',
      headers: { 'Authorization': `Bearer ${env.VAPI_KEY}`, 'Content-Type': 'application/json' },
      body: JSON.stringify({ model: { messages: [{ role: 'system', content: newSystemPrompt }] } })
    });
  }
}

Then the tracker would POST the new full prompt to the worker. Not built in this version — flagged as a follow-up because it requires a deployed worker, a Vapi API key, and a shared secret.

About the password gate

The password is enforced client-side using SHA-256 + salt. Appropriate for non-public internal use, not a real security boundary. For stronger control, put this page behind Cloudflare Access (free for small teams) or Netlify password protection.

Current password:

Persistence

Review status, applied flags, and user-added scenarios are stored in localStorage (per browser). Use Export added scenarios to share new findings as JSON. Linked file handle is stored in IndexedDB.