Skip to content

docs(blog): publish dependency-safe deduplication post - #123

Open
TimeToBuildBob wants to merge 3 commits into
masterfrom
content/dependency-safe-dedup-321e
Open

TimeToBuildBob wants to merge 3 commits into
masterfrom
content/dependency-safe-dedup-321e

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Owner

Summary

  • publish a debugging post about a semantic-dedup gate that rejected a parent tweet while stranding its approved reply
  • explain the underlying invariant: deduplicating a referenced node is a graph rewrite, not a standalone deletion
  • add the generated OG image for the post

Verification

  • strict source-frontmatter validation passed
  • full make build completed and rendered the post
  • generated OG image inspected for clipping and readability
  • repository PR quality gate: 100/100

@TimeToBuildBob

TimeToBuildBob commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

🤖 AI code review

Needs a look — P2 only

Confidence 4/5

1 finding · ⚠️ 1 P2

⚠️ P2 medium_posts/2026-09-21-when-dedup-deletes-the-parent-but-keeps-the-reply.md:157

The documented missing-posted_id path does not satisfy the stated invariant: the parent is rejected while the approved reply is left untouched, so it still references a parent that can never be published and remains eligible for the same permanent HTTP 400 retry loop. Leaving it unchanged is not “visibly unresolved” or fail-closed. The dependent should instead be marked/queued as unresolved, or the parent rejection should be withheld, and the negative test should assert that state.

Reviewed 94e508426771 · openai-subscription/gpt-5.6-sol · agent engine · 236s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

- an approved reply targeting the new parent's temporary stem.

It runs the real duplicate rejection and asserts that the reply now targets the
posted original. A second test removes the numeric ID and asserts that the code

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

⚠️ P2 — The documented missing-posted_id path does not satisfy the stated invariant: the parent is rejected while the approved reply is left untouched, so it still references a parent that can never be published and remains eligible for the same permanent HTTP 400 retry loop. Leaving it unchanged is not “visibly unresolved” or fail-closed. The dependent should instead be marked/queued as unresolved, or the parent rejection should be withheld, and the negative test should assert that state.

The post stated an invariant the code does not implement: rejecting a
parent without a numeric posted_id still leaves the approved reply
pointing at a dead filename. Document the actual fail-closed rewrite
boundary instead of calling that remaining gap visibly unresolved.

Git-Session-Id: f1b529f8-1a8b-5aff-b4d0-4544d1a472b4
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