Skip to content

Add MseeP.ai badge#2

Open
mseep-ai wants to merge 1 commit into
hanlulong:mainfrom
mseep-ai:add-mseep-badge
Open

Add MseeP.ai badge#2
mseep-ai wants to merge 1 commit into
hanlulong:mainfrom
mseep-ai:add-mseep-badge

Conversation

@mseep-ai

Copy link
Copy Markdown

Hi there,

This pull request shares a security update on openecon-data.

We also have an entry for openecon-data in our directory, MseeP.ai, where we provide regular security and trust updates on your app.

We invite you to add our badge for your MCP server to your README to help your users learn from a third party that provides ongoing validation of openecon-data.

You can easily take control over your listing for free: visit it at https://mseep.ai/app/hanlulong-openecon-data.

Thanks,

The MseeP Team
MCP servers you can trust


MseeP.ai Security Assessment Badge

hanlulong added a commit that referenced this pull request May 30, 2026
Schema bump that unblocks Phase 2.7 (Tier-3 escape hatch) without
introducing any behavior change. Adopted Position C from the 3-agent
debate over Positions A (add all 5 fields) and B (nest under sub-models):
add only the two fields with a scoped downstream consumer; defer
yoy_change / rolling_window / aggregation_type until they each have a
producer prompt + consumer site landing in the same PR. Adding fields
without a scoped consumer recreates the dead-schema problem the
deep review explicitly warns against in docs/DEEP_REVIEW_2026-05-30.md
§5 Phase 2.6 and §7 anti-pattern #2.

Changes:
- backend/services/conversation_state_v2.py: FollowUpDelta gains
  delta_confidence: Optional[float] = None
  needs_full_rewrite: bool = False
  with a comment block tying them to Phase 2.7 (Tier-3) and §6
  invariant #8 (≥7d shadow-mode before default-on).
- backend/services/delta_extractor.py: extended the LLM extraction
  prompt with (a) four new changed_decomposition few-shot examples
  for sector / industry / age_group / category / region (T5 critical
  fix — the user-journey audit found decomposition follow-ups failing
  silently for non-province breakdowns); (b) STEP 3 — TELEMETRY,
  instructing the LLM to populate delta_confidence (0.0-1.0) and
  needs_full_rewrite when the field-by-field delta cannot capture the
  user's restructuring intent.
- backend/tests/test_conversation_state_v2.py: TestPhase26TelemetryFields
  asserts defaults are inert, round-trips through model_dump, and
  freezes the merge_state-must-not-consume-these-fields contract.
  When future PRs wire these fields, those tests are the canary.

Verified: 200/200 conversation tests pass. FollowUpDelta now has 25
fields (was 23). No hardcoded semantic rules. Multi-round invariants
preserved (delta_confidence + needs_full_rewrite live on
FollowUpDelta, not on ConversationState — resolved_indicator_code,
statscan_cube_metadata, provider_locked, active_answer_members all
untouched).

Deep review finding: docs/DEEP_REVIEW_2026-05-30.md Phase 2.6

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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.

1 participant