Skip to content

MBTI64-ZH32-EN32-V8_5-V5-RUNTIME-DUPLICATE-SECTION-SUPPRESSION-02#2581

Merged
fermatmind merged 1 commit into
mainfrom
codex/mbti64-zh32-en32-v85-v5-runtime-duplicate-section-suppression-02
Jul 1, 2026
Merged

MBTI64-ZH32-EN32-V8_5-V5-RUNTIME-DUPLICATE-SECTION-SUPPRESSION-02#2581
fermatmind merged 1 commit into
mainfrom
codex/mbti64-zh32-en32-v85-v5-runtime-duplicate-section-suppression-02

Conversation

@fermatmind

Copy link
Copy Markdown
Owner

Summary

  • Extend the V8.5/V5 public API suppression boundary when v8_5_* first-class sections are present.
  • Hide duplicate legacy reader-path sections for career.*, growth.*, relationships.*, plus quick_answer, common_misreads, and faq.
  • Keep related_content and mbti64_promotion_metadata available for necessary navigation/metadata use.
  • Add focused test coverage that the public detail response keeps V8.5 sections, suppresses the duplicated legacy groups, and has no exact duplicate visible API paragraphs.

Why

The duplicate-paragraph repair package is live, but runtime still exposed duplicate legacy sections beside the V8.5/V5 first-class modules. This PR keeps backend CMS/content authority unchanged and only fixes public API response shaping for the V8.5/V5 runtime path.

Validation

  • php artisan test tests/Feature/Console/PersonalityMbti64CmsRevisionPromoteCommandTest.php --display-warnings
    • Passed: 33 warnings from missing temporary .env in the clean worktree, exit code 0.
  • bash backend/scripts/ci_verify_mbti.sh
    • Passed.
  • git diff --check
    • Passed.

Intentionally deferred

  • No production deploy in this PR.
  • No CMS writes, promotion, publish, sitemap/llms mutation, URL Truth, Search Queue, IndexNow, or external search submission.
  • Runtime acceptance remains the post-deploy read-only smoke: MBTI64-ZH32-V8_5-DUPLICATE-PARAGRAPH-RUNTIME-SMOKE-01.

Repository rule impact

Backend public API response shaping only. CMS/backend remains the content authority; this PR does not introduce frontend fallback content or change publishing/search ownership.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 43bf4b9608

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 1647 to +1648
if ($this->hasV85FirstClassSections($sections->keys()->all())) {
foreach (self::MBTI64_V85_DUPLICATE_LEGACY_SECTION_KEYS as $sectionKey) {
foreach ($sections->keys()->all() as $sectionKey) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Filter V8.5 duplicates from projection sections too

When a V8.5 variant is requested, show() still returns $projection under personality_public_projection_v1/mbti_public_projection_v1, and that projection is built before this filter from all enabled variant sections via MbtiPersonalityProfileAuthoritySourceAdapter::overlayVariant(). This new suppression only removes duplicate keys from the top-level sections, so the same detail response still exposes the legacy career.*/growth.*/relationships.* paragraphs through *.sections for clients that render the projection. Apply the suppression to the projection as well, or build the projection from the filtered section set.

Useful? React with 👍 / 👎.

@fermatmind fermatmind merged commit 5d1e7bb into main Jul 1, 2026
15 checks passed
@fermatmind fermatmind deleted the codex/mbti64-zh32-en32-v85-v5-runtime-duplicate-section-suppression-02 branch July 1, 2026 15:30
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