MBTI64-ZH32-EN32-V8_5-V5-RUNTIME-DUPLICATE-SECTION-SUPPRESSION-02#2581
Conversation
There was a problem hiding this comment.
💡 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".
| if ($this->hasV85FirstClassSections($sections->keys()->all())) { | ||
| foreach (self::MBTI64_V85_DUPLICATE_LEGACY_SECTION_KEYS as $sectionKey) { | ||
| foreach ($sections->keys()->all() as $sectionKey) { |
There was a problem hiding this comment.
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 👍 / 👎.
Summary
v8_5_*first-class sections are present.career.*,growth.*,relationships.*, plusquick_answer,common_misreads, andfaq.related_contentandmbti64_promotion_metadataavailable for necessary navigation/metadata use.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.envin the clean worktree, exit code 0.bash backend/scripts/ci_verify_mbti.shgit diff --checkIntentionally deferred
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.