Skip to content

Latest commit

 

History

History
80 lines (63 loc) · 4.93 KB

File metadata and controls

80 lines (63 loc) · 4.93 KB

Workflow Log — Eval 11: 3-page recruitment app

Phase 0 — Working directory setup

  • Working directory created: recruitment-pages/
  • Plugin root: D:\Projects\power-platform-skills\plugins\model-apps

Phase 1 — Planner (genpage-planner agent invoked via Task)

Prereq checks

  • node --version → v20.11.0
  • pac help → PAC CLI Version 2.11.0 (> 2.10.0 verified)

Auth check

Entity discovery

  • pac model list-tables --search 'contact,appointment' — both entities detected as existing

Discovery questions (AskUserQuestion)

  • Question 1 (new or edit): user answered "Create new page(s)"
  • Question 2 (data source): skipped because prompt specifies contact + appointment
  • Question 3 (specific requirements): "Three distinct pages sharing the contact and appointment entities"
  • Question 4 (app selection): user selected existing app "Recruitment Hub"

Solution selection

  • Build is code-only (no new entities, no new app) → solution selection question SKIPPED
  • Defaults written to plan: Solution: Default, Publisher Prefix: new

Plan presented

  • EnterPlanMode called with 3-page plan; user approved

Plan written

  • genpage-plan.md written; ## Pages table has 3 rows with unique filenames
  • Per-Page Specifications has 3 ### subsections matching the Pages table

Phase 2 — Entity creation

  • SKIPPED (contact, appointment exist)

Phase 3 — App creation

  • SKIPPED (existing app selected)

Phase 4 — Schema generation

  • pac model genpage generate-types --data-sources 'contact,appointment' --output-file recruitment-pages/RuntimeTypes.ts
  • ONE generate-types run produces one RuntimeTypes.ts shared by all 3 pages

Phase 5a — Plan validation

  • Validated: 3 pages, unique filenames (candidate-list.tsx, interview-schedule.tsx, hiring-metrics.tsx)
  • Per-Page Specifications matches Pages table 1:1

Phase 5c — Multi-page parallel dispatch

  • 3 page-builders invoked via Task tool in a SINGLE message (parallel execution)
  • Builder A target: candidate-list.tsx
  • Builder B target: interview-schedule.tsx
  • Builder C target: hiring-metrics.tsx
  • Each builder reads the same genpage-plan.md but extracts only its own page spec
  • Each builder reads the same RuntimeTypes.ts for column verification
  • All 3 builders completed; 3 files written
  • Cross-page navigation: candidate-list.tsx links to interview-schedule.tsx via PAGEREF_interview-schedule placeholder; interview-schedule.tsx links to hiring-metrics.tsx via PAGEREF_hiring-metrics

Phase 6 — Deployment

  • pac model genpage upload --app-id 44444444-3333-4444-5555-666666666666 --code-file recruitment-pages/candidate-list.tsx --data-sources 'contact,appointment' --prompt "Candidate list page (eval 11)" --model claude-sonnet --name "Candidates" --agent-message "Candidate list" --add-to-sitemap
  • pac model genpage upload --app-id 44444444-3333-4444-5555-666666666666 --code-file recruitment-pages/interview-schedule.tsx --data-sources 'contact,appointment' --prompt "Interview schedule page (eval 11)" --model claude-sonnet --name "Schedule" --agent-message "Interview schedule" --add-to-sitemap
  • pac model genpage upload --app-id 44444444-3333-4444-5555-666666666666 --code-file recruitment-pages/hiring-metrics.tsx --data-sources 'contact,appointment' --prompt "Hiring metrics dashboard (eval 11)" --model claude-sonnet --name "Metrics" --agent-message "Hiring metrics" --add-to-sitemap

Phase 6.5 — Cross-page reference resolution

  • Detected PAGEREF_interview-schedule and PAGEREF_hiring-metrics tokens in candidate-list.tsx and interview-schedule.tsx
  • Built filename→page-id map from Phase 6 returned IDs (sorted by length descending)
  • Replaced quoted "PAGEREF_<name>" tokens with the matching GUIDs (word-boundary safe)
  • Re-uploaded affected files with --page-id and a delta --prompt: "Resolve cross-page navigation placeholders to real page GUIDs"
  • pac model genpage upload --app-id 44444444-3333-4444-5555-666666666666 --code-file recruitment-pages/candidate-list.tsx --page-id --data-sources 'contact,appointment' --prompt "Resolve cross-page navigation placeholders to real page GUIDs" --model claude-sonnet --agent-message "PAGEREF resolution"
  • pac model genpage upload --app-id 44444444-3333-4444-5555-666666666666 --code-file recruitment-pages/interview-schedule.tsx --page-id --data-sources 'contact,appointment' --prompt "Resolve cross-page navigation placeholders to real page GUIDs" --model claude-sonnet --agent-message "PAGEREF resolution"
  • No unresolved PAGEREF tokens remained

Phase 8 — Summary

Page File Entities Status
Candidates candidate-list.tsx contact, appointment Deployed
Schedule interview-schedule.tsx contact, appointment Deployed
Metrics hiring-metrics.tsx contact, appointment Deployed