Implements the backend Curator system for generating and storing personalized 30-day streak plans. This includes the service curation layer, ICP/playbook-based plan generation, service registry deep-link building, and the one-time onboarding loop that creates a user’s first streak plan after onboarding completion.
What Changed
Added the Service Curation Layer for personalized 30-day streak planning.
Added prompt assembly using user context, ICP/persona playbook, goals, profile, resume, activity, and QScore signals.
Added structured 30-day plan generation with weekly themes and daily tasks.
Kept the stored backend sprint as a real 30-day plan.
Updated preview/output shape to support 4 core weeks plus closeout days for days 29-30 without breaking frontend expectations.
Added Sunday-based week alignment while still respecting the user’s subscription/onboarding start day.
Added ICP playbook config/definitions for persona-driven task generation.
Added service registry integration for generating frontend/backend service deep links.
Added idempotent curation behavior so retrying the same user/context does not duplicate plans.
Added persistence for generated sprint plans associated with the user.
Added Curator Onboarding Loop triggered after onboarding completion.
Onboarding loop fetches user context from User Service, Resume Service, and QScore.
Onboarding loop generates the initial 30-day streak plan through the curation layer.
Stores weekly themes such as Baseline + First Proof, Fix Obvious Gaps, and related progression stages.
Surfaces Day 1 tasks for the frontend Streak Component.
Emits analytics/event tracking for curator onboarding completion.
Added notification-ready behavior for plan-ready state.
Refined the curation prompt so plans are personalized to each user’s goals, context, ICP, and career target.
Notes
The implementation uses deterministic curation with an LLM-ready prompt/hash stored for idempotency.
It does not make an uncached live LLM call during onboarding, which avoids duplicate or inconsistent plans on retries.
Live LLM generation can be added later behind a cached/validated generation layer if needed.
Validation
Verified the plan format supports 30 days.
Verified frontend contract compatibility for streak/sprint preview.
Verified onboarding loop is safe to retry.
Verified service registry deep links are used for task URLs.
Verified Day 1 tasks are generated from the stored sprint plan.
# PR Description
## Summary
Implements the backend Curator system for generating and storing personalized 30-day streak plans. This includes the service curation layer, ICP/playbook-based plan generation, service registry deep-link building, and the one-time onboarding loop that creates a user’s first streak plan after onboarding completion.
## What Changed
- Added the Service Curation Layer for personalized 30-day streak planning.
- Added prompt assembly using user context, ICP/persona playbook, goals, profile, resume, activity, and QScore signals.
- Added structured 30-day plan generation with weekly themes and daily tasks.
- Kept the stored backend sprint as a real 30-day plan.
- Updated preview/output shape to support 4 core weeks plus closeout days for days 29-30 without breaking frontend expectations.
- Added Sunday-based week alignment while still respecting the user’s subscription/onboarding start day.
- Added ICP playbook config/definitions for persona-driven task generation.
- Added service registry integration for generating frontend/backend service deep links.
- Added idempotent curation behavior so retrying the same user/context does not duplicate plans.
- Added persistence for generated sprint plans associated with the user.
- Added Curator Onboarding Loop triggered after onboarding completion.
- Onboarding loop fetches user context from User Service, Resume Service, and QScore.
- Onboarding loop generates the initial 30-day streak plan through the curation layer.
- Stores weekly themes such as Baseline + First Proof, Fix Obvious Gaps, and related progression stages.
- Surfaces Day 1 tasks for the frontend Streak Component.
- Emits analytics/event tracking for curator onboarding completion.
- Added notification-ready behavior for plan-ready state.
- Refined the curation prompt so plans are personalized to each user’s goals, context, ICP, and career target.
## Notes
- The implementation uses deterministic curation with an LLM-ready prompt/hash stored for idempotency.
- It does not make an uncached live LLM call during onboarding, which avoids duplicate or inconsistent plans on retries.
- Live LLM generation can be added later behind a cached/validated generation layer if needed.
## Validation
- Verified the plan format supports 30 days.
- Verified frontend contract compatibility for streak/sprint preview.
- Verified onboarding loop is safe to retry.
- Verified service registry deep links are used for task URLs.
- Verified Day 1 tasks are generated from the stored sprint plan.
- Increased weekIndex max from 5 to 6 in curator task, plan day, and week schemas.
- Adjusted days array in curator week schema to allow a minimum of 1 day.
- Modified weeks array in curator plan schema to accept between 5 and 6 weeks.
- Enhanced CuratorUserContext type to include detailed user information and QScore.
- Introduced Curator ICP Playbooks for various user profiles with structured actions.
- Implemented onboarding loop for user onboarding completion and notification.
- Added prompt builder for generating structured 30-day plans based on user context and playbooks.
dv
merged commit dfdde7fa4d into staging2026-06-23 18:48:20 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
PR Description
Summary
Implements the backend Curator system for generating and storing personalized 30-day streak plans. This includes the service curation layer, ICP/playbook-based plan generation, service registry deep-link building, and the one-time onboarding loop that creates a user’s first streak plan after onboarding completion.
What Changed
Notes
Validation