Fix Vault relationship mapping labels and event session scope#880
Fix Vault relationship mapping labels and event session scope#880DHCross wants to merge 4 commits into
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_40ca7322-4d78-4916-90df-1a6e10b2ce5d) |
|
There was a problem hiding this comment.
Pull request overview
This PR aims to (1) prevent Vault-based relationship/corridor mapping from being frontstaged as classical synastry by shifting user-facing labels toward “Relationship Mirror”, and (2) reduce false stale/prior-session attribution by making runtime event session-scope helpers read sessionId / warning reason from both nested payload and flattened top-level event fields.
Changes:
- Updated Mirror product taxonomy prompt copy to distinguish default Vault relationship mapping from classical synastry wording.
- Renamed user-facing Mirror report titles for the legacy
synastry_mirrorfamily to “Relationship Mirror …” and updated the corresponding unit test expectations. - Enhanced
readRuntimeEventSessionId/readRuntimeEventWarningReasonto fall back to top-level event fields (andinputSnapshot) when telemetry is flattened.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| vessel/src/lib/runtimeEventSessionScope.ts | Adds top-level fallbacks for session scoping and warning dedupe helpers. |
| vessel/src/lib/raven/prompts/blocks/mirror_product_taxonomy.md | Updates the taxonomy table + introduces label-discipline guidance for Relationship vs synastry wording. |
| vessel/src/lib/raven/mirrorArtifactKinds.ts | Changes user-facing titles for the synastry_mirror family to “Relationship Mirror …”. |
| vessel/src/lib/raven/tests/mirrorArtifactKinds.test.ts | Aligns test expectations with the updated user-facing titles. |
| function readTopLevelRecord(event: RuntimeSystemEvent): Record<string, unknown> { | ||
| return event as unknown as Record<string, unknown>; | ||
| } |
| const topLevel = readTopLevelRecord(event); | ||
| if (typeof topLevel.sessionId === "string" && topLevel.sessionId.trim()) { | ||
| return topLevel.sessionId.trim(); | ||
| } | ||
|
|
| ### Relationship / synastry label discipline | ||
|
|
||
| Default Vault relationship requests are **Relationship Mirror Reports**, not classical synastry reports. Use **Synastry Mirror Report** only when the user explicitly asks for synastry or classical chart-to-chart synastry. If the user says "map a relationship," "map this relationship," "relationship from Vault," "corridor," "shared field," or similar, title the output as a Relationship Mirror / relationship mapping, not a Synastry Mirror. | ||
|
|



Summary
This patch addresses the failure mode surfaced by the latest Raven export audit:
sessionIdand warningreasonfrom both payload and top-level event fields, which reduces false stale/prior-session attribution when telemetry is emitted in flattened form.Audit context
The tested session was not supposed to be synastry per se. The issue was lane/product drift: Raven converted “map a relationship from Vault” into a Synastry Mirror Report. This PR tightens the frontstage label discipline so default Vault relationship requests stay in the Relationship Mirror lane.
Note
There may still be a follow-up needed in
DownloadSessionButton.tsx:convertRowToRuntimeEvent()currently normalizes debug snapshot rows and may drop top-level metadata before staleness analysis. This PR fixes the shared session-scope reader and the naming doctrine, but the export-normalizer path should be checked next if stale evidence remains in new exports.Note
Low Risk
Label and prompt copy changes plus defensive metadata reads; no auth or core pipeline logic changes.
Overview
Relationship Mirror replaces Synastry Mirror in user-facing titles for the legacy
synastry_mirrorfamily (MIRROR_REPORT_FAMILY_TITLE/MIRROR_FULL_READ_LABEL_TITLE), with comments and tests aligned. The mirror product taxonomy prompt now states that default Vault relationship/corridor mapping should use Relationship Mirror wording and reserves classical synastry labels for explicit synastry requests.readRuntimeEventSessionIdandreadRuntimeEventWarningReasonnow fall back to top-levelsessionId,reason, andinputSnapshoton runtime events, not only nestedpayload, so session-scoped warning filtering and export staleness checks work when telemetry is emitted in flattened form.Reviewed by Cursor Bugbot for commit a46d92e. Bugbot is set up for automated code reviews on this repo. Configure here.