Skip to content

Latest commit

 

History

History
83 lines (67 loc) · 4.07 KB

File metadata and controls

83 lines (67 loc) · 4.07 KB

Fixture 15-support-tickets-real — Real Claude capture

Status: Real /genpage capture (2026-05-21 → 2026-05-26). Both layers fully green. Replaces the original memory-game capture under eval id 15.

Source

Captured from a real /genpage session against https://contosobapenv0001.crmtest.dynamics.com. Driven by claude-sonnet-4-6 under the v2.1 plugin + v2.2 manifest generator + v2.2 planner-spec tightening. Working dir was D:/temp/support-tickets/.

Prompt was the eval 15 prompt verbatim:

Build a page tracking support tickets. I need a new cr_ticket entity with a priority choice column (Low, Medium, High, Critical), a status choice column (Open, In Progress, Resolved, Closed), and a due date column.

What this capture validates

End-to-end entity-creation flow under the tightened v2.2 spec:

  • All v2.2 spec requirements satisfied — workflow-log records every prereq command verbatim (node --version, pac help, pac auth list, pac model list-tables, pac model list, pac solution list), every AskUserQuestion call with the answer, EnterPlanMode called, the check-auth.js result on both retries (ok=false blocker=whoami_403 then ok=true identitiesMatch=true), and the full pac model genpage upload command with --prompt and all flags echoed.
  • check-auth.js retry flow correctly recorded — first run blocked on whoami_403 (identity mismatch); user instructed to run az login --username; second run returned ok=true. The orchestrator correctly halted between attempts.
  • Entity creation with choice columns + sample datacr_ticket table with cr_priority (4 options, 100000000-100000003), cr_status (4 options, same range), cr_duedate (DateOnly). 10 sample records inserted via OData $batch. Transaction log written to entity-creation-log.md.
  • Prefix discipline held end-to-end — plan stores suffix-only names (ticket, priority, status, duedate); entity-creation-log records resolved full names (cr_ticket, cr_priority, etc.) starting with the publisher prefix from the plan's ## Environment.
  • Choice column display via local enum mapping — page uses named constants (PRIORITY_LOW = 100000000, etc.) and an option-array helper rather than dataApi.getChoices() / FormattedValue annotations. The Layer 2 runner now accepts this as a valid alternative (added in the same change set as this capture).

Runner fixes that landed alongside this capture

The capture surfaced two additional regex narrowings that needed relaxing:

  1. check-auth.js ok:true detection — the runner only accepted ok: true (colon-space) or "ok": true (JSON). Real captures sometimes use ok=true (equals-sign). Fixed to accept both forms via [:=] in the regex.
  2. Choice column display patterns — the runner only accepted dataApi.getChoices() or FormattedValue. Real captures often use a local enum mapping with named constants in the Dataverse choice value range (100000000+). Fixed to accept this as a third valid pattern — these constants are verified against RuntimeTypes at generation time, so they're equivalent in correctness.

These relaxations only accept functionally-equivalent alternatives — they don't loosen the rules to admit drift.

Replaces

This fixture replaces 15-memory-game-entity-with-choices/ (deleted alongside this capture's commit). That earlier capture was driven by a non-Claude model under the v2.1 spec and had 6 known-failing assertions about workflow-log compactness + pageInput destructuring. The support-tickets capture is the canonical eval 15 real fixture going forward.

Files

File Source
support-tickets.tsx Generated by /genpage page-builder phase
RuntimeTypes.ts Generated by pac model genpage generate-types --data-sources "cr_ticket"
workflow-log.md Recorded during the run — command-verbatim format per v2.2 spec
genpage-plan.md Written by genpage-planner agent
entity-creation-log.md Written by genpage-entity-builder agent