Libra CodeHub

CedarCopilot/cedar-mail

Branch: staging

feat(taxonomy): Peter's disco/demo/EOC question adjustments + phase reorder

merged#2500CedarCopilot

CedarCopilot wants to merge 0 commits into staging from feat/peter-disco-demo-adjustments

Live on prod, no production signal yetTimeline and evidence
  1. Opened
    Aug 15, 2026, 4:22 PM
  2. Merged
    Aug 15, 2026, 4:31 PM
  3. Live on prod
    Aug 15, 2026, 4:31 PM
  4. Observed 0 hours
    Aug 15, 2026, 4:31 PM
  5. Unobserved

    Live on prod, no production signal yet

    Aug 15, 2026, 4:31 PM
  6. Pipelines steady after this deploy
    Aug 15, 2026, 4:31 PM

Behaviors Libra is checking

Demo calls classify the single per-call demo story from the sequence of demonstrated features rather than the rep's talk-track, keeping the actually-run story independent of the separately derived recommended story.Not checked
prod
Pain-bridging product pitches and demo features record whether the rep explicitly verbally called back to a buyer's stated pain versus making an implicit tie-back.Not checked
prod

Libra has verdicts on 0 of 2 tracked behaviors on prod; 2 are still being checked. Libra checks hourly for 3 days after each deploy.

What

Applies Peter's full disco-demo feedback pass (from his revised Slack + our vocab-review call + his meeting-classifier.md) across the design docs, both artifacts, and the two field-level bits that need code. Prep for the Pirros/Aspire/Vooma extraction run. No DB writes.

Code defaults (the only field-level changes)

Everything else is aggregation over fields that already ship , these two aren't:

  • P4 verbal_callback (yes/no) on demo.feature + product.pitch , explicit "you mentioned…" callback vs an implicit tie_back, so P4 can split the two.
  • P16 demo_story_type , now classifies from the demo feature-flow (not talk-track) = the story the rep actually ran, independent of the separately-derived should-run; the match/mismatch is the finding (Peter's meeting-classifier model).
  • defaults-equivalence hash re-pinned (field set/order unchanged at 29; only content moved). 2/2 pass.

Design docs + artifacts (aggregation-level; no code needed)

  • Master taxonomy-map reordered into a call arc: DISCO → DEMO → EOC → DEFERRED.
  • P5 two-branch (objection-voiced dig-in vs no-objection solicit) · P6 rapport-only + new P6b piqued-interest · P7a/P7b (probing count + pain-digging: pains with no follow-up probe) · P10 unprompted+disconnected mix & longest silent-feature streak (drops the unreliable raw count) · P11 champion-test only · P13 kept · P14 horizon buckets 0,5/5,10/10+/none · P15 info-gathered-not-asked + 5 must-asks · P16 should-vs-did.
  • 2 new EOC questions: buying-process (decision_process) + named-stakeholders (stakeholder.engaged).
  • Pirros vocab: piqued_interest + 5 must-ask topics; demo_story_type = the 4 archetypes + the should-run decision tree (from meeting-classifier.md).
  • Both HTML artifacts rebuilt (internal master + Peter-facing) and republished to their existing URLs.

Ops

  • backup-org-taxonomy.ts (+ runner) , read-only pre-seed snapshot of each org's background:true taxonomy field defs (a full restore point), to run before any AOP seeding.

🤖 Generated with Claude Code

https://claude.ai/code/session_018Tggg2sBmoV3cCZGMvpsdX

Greptile Summary

This PR revises the Pirros taxonomy design and generated artifacts, adds verbal_callback metadata to demo fields, updates the demo_story_type prompt, and introduces a read-only organization taxonomy backup utility.

  • Reorders and expands the discovery, demo, and end-of-call taxonomy specifications.
  • Adds explicit-versus-implicit pain callback metadata to demo.feature and product.pitch.
  • Re-pins the default-definition equivalence hash after prompt and metadata changes.
  • Adds a backup runner that snapshots each target organization’s Deals AOP field definitions before seeding.

Confidence Score: 4/5

The PR should not be used for pre-seed operations until the backup script preserves the original same-day restore point; the Vooma lookup and import convention also warrant cleanup.

The backup utility can silently overwrite its only pre-seed snapshot on a same-day rerun, while its broad Vooma lookup can select an unintended matching organization; the taxonomy metadata additions themselves align with the existing extraction and persistence path.

Files Needing Attention: apps/server/scripts/backup-org-taxonomy.ts, apps/server/scripts/run-backup-org-taxonomy.mjs

Important Files Changed

FilenameOverview
apps/server/scripts/backup-org-taxonomy.tsAdds the restore-point snapshot logic, but same-day writes overwrite prior snapshots and Vooma selection is ambiguous when multiple organizations match.
apps/server/scripts/run-backup-org-taxonomy.mjsBuilds and runs the backup script with the expected server working directory; it also introduces a project-local relative import.
apps/server/src/services/field-values/
Show production surfaces and changed-file mapping

Production surfaces

Libra has not measured any production surfaces for this change yet.

Changed files → surfaces

  • apps/server/scripts/backup-org-taxonomy.tsno production surface mapped
  • apps/server/scripts/run-backup-org-taxonomy.mjsno production surface mapped
  • apps/server/src/services/field-values/__tests__/defaults-equivalence.test.tsno production surface mapped
  • apps/server/src/services/field-values/defaults/call-level.tsno production surface mapped
  • apps/server/src/services/field-values/defaults/discovery.tsno production surface mapped
  • apps/server/src/services/field-values/defaults/product.tsno production surface mapped
  • docs/audits/pirros/design/pirros-aspire-master-playbook-adherence-taxonomy-map-2026-08-13.mdno production surface mapped
  • docs/audits/pirros/pirros-customer-vocab.mdno production surface mapped
  • docs/audits/pirros/pirros-questions-for-peter.htmlno production surface mapped
  • docs/audits/taxonomy-question-master.htmlno production surface mapped