Skip to content

Fix Vault relationship mapping labels and event session scope#880

Open
DHCross wants to merge 4 commits into
mainfrom
fix/vault-relationship-mapping-labels
Open

Fix Vault relationship mapping labels and event session scope#880
DHCross wants to merge 4 commits into
mainfrom
fix/vault-relationship-mapping-labels

Conversation

@DHCross

@DHCross DHCross commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Summary

This patch addresses the failure mode surfaced by the latest Raven export audit:

  • Vault relationship/corridor mapping should not frontstage itself as classical synastry unless the user explicitly asks for synastry.
  • The Mirror product taxonomy now uses Relationship Mirror Report / Full Relationship Mirror for relational Vault mapping.
  • The prompt block now explicitly distinguishes default Vault relationship mapping from classical synastry wording.
  • Runtime session-scope helpers now read sessionId and warning reason from 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_mirror family (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.

readRuntimeEventSessionId and readRuntimeEventWarningReason now fall back to top-level sessionId, reason, and inputSnapshot on runtime events, not only nested payload, 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@vercel

vercel Bot commented Jun 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
shipyard Error Error Jun 28, 2026 8:33pm

@cursor

cursor Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot 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)

@sonarqubecloud

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_mirror family to “Relationship Mirror …” and updated the corresponding unit test expectations.
  • Enhanced readRuntimeEventSessionId / readRuntimeEventWarningReason to fall back to top-level event fields (and inputSnapshot) 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.

Comment on lines +19 to +21
function readTopLevelRecord(event: RuntimeSystemEvent): Record<string, unknown> {
return event as unknown as Record<string, unknown>;
}
Comment on lines +29 to +33
const topLevel = readTopLevelRecord(event);
if (typeof topLevel.sessionId === "string" && topLevel.sessionId.trim()) {
return topLevel.sessionId.trim();
}

Comment on lines +42 to +45
### 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants