CedarCopilot wants to merge 3 commits into staging from feat/coaching-rubric-productization
Live on prod, watching, 2 days left
Libra has verdicts on 0 of 12 tracked behaviors on prod; 12 are still being checked. Libra checks hourly for 3 days after each deploy.
CoachingRubric data shape (services/coaching/rubric.ts) , an unconstrained list of criteria per section , so a second real customer (Aspire, 3 discovery rows vs. Pirros' 5, with a promoted row) can be onboarded without forking the template. Verified the Pirros render is byte-identical to the original hand-authored playbook before changing anything downstream.seed-coaching-org.ts --org --aop --user --rubric <name>, which also verifies the trigger wiring actually compiled before reporting success , a check the old script never had.peter-johann folder in Pirros' live coaching data: coach-meeting asked the model to invent a rep-folder slug from meeting metadata on every run instead of using the deterministic <current_user> identity already injected into its own prompt. coach-weekly doesn't share the bug.coach-meeting/coach-weekly's fill_instructions so onboarding asks the human for their finished dimension analysis and transcribes it, rather than implying the agent should invent dimensions. Reference both agents from agent-capabilities and playbook-authoring so they're discoverable like other system agents.seed-coaching-org.ts/rubric.ts specifically (idempotency, re-running against an already-seeded org). Existing coaching test suite (49/49) passes unchanged.activate-coaching-pirros.ts, copy-coaching-to-pirros.ts, write-coaching-suite.ts, publish-coaching-playbook.ts, publish-runbook.ts) are deleted in this same change. They have real production pedigree (seeded Pirros); the replacement has only been dry-run once, against Aspire , never executed anywhere yet.pnpm run types cleanPIRROS_RUBRIC diffed byte-for-byte against the original hand-authored COACHING_PLAYBOOK stringseed-coaching-org.ts --rubric aspire against Aspire's real org id , plan output reviewed, no writes performedseed-coaching-org.ts --rubric aspire --execute against Aspire's live org (separate decision, not part of this PR)coach-meeting body into Pirros' already-live subagent document so the repSlug fix actually takes effect there (source fix alone doesn't retroactively update an already-seeded document)🤖 Generated with Claude Code
This PR is not safe to merge because the advertised Aspire onboarding path installs Pirros-specific coaching behavior and can continue splitting a representative's output across folders.
Libra has not measured any production surfaces for this change yet.