feat(youtube/xiaohongshu/xiaoe): surface dropped ids/url on listings (sweep)#1305
Merged
feat(youtube/xiaohongshu/xiaoe): surface dropped ids/url on listings (sweep)#1305
Conversation
…(sweep) Round 8 same silent-column-drop class as #1300/#1301/#1302 — row already emits the id/url field but `columns` array forgot to project it, so table view drops it and agent loses the chain into detail commands. - youtube/feed: rename row.videoId → video_id (snake_case convention), add to columns. youtube/video accepts both URL and id, so url-based round-trip already worked, but exposing the canonical id removes the url-parse step for chained calls. - xiaohongshu/feed: pipeline map already extracts `id` from the homefeed payload, columns now lists it. - xiaoe/catalog: pipeline map already projects `url`, columns now lists it. xiaoe/detail takes a positional url, so this completes the round-trip explicitly. Also fixes one camelCase column violation on youtube/feed (videoId vs the project's snake_case convention as in twitter `is_retweet`/`created_at`, douban `subject_id`/`photo_id`, hupu `thread_title`). CI gate `check:listing-id-pairing` ✓ (34 sites, 77 listings, 10 exempt). typecheck clean. 114 tests pass for youtube + xiaohongshu.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Round 8 sweep — same silent-column-drop class as #1300 / #1301 / #1302. Row builds the id/url,
columnsarray forgets to list it, table view drops it, agent loses the chain into detail commands.3 files, 4 insertions, 4 deletions:
videoId→video_id(snake_case to match project convention — twitteris_retweet/created_at/has_media, doubansubject_id/photo_id, huputhread_title), add to columns. youtube/video already accepts both URL and id, so url-based round-trip wasn't broken, but exposing the canonical id removes a url-parse step for chained calls.mapalready extractsidfrom the homefeed payload — columns now projects it.mapalready projectsurl— columns now lists it. xiaoe/detail takes positionalurl, so this completes the round-trip path explicitly.Why
Same
--format table(default) bug as last 3 sweeps. JSON output was already correct; agents reading the default rendered output couldn't see the id and had to re-derive from url or re-search.Validation
check:listing-id-pairing --strict✓ (34 sites, 77 listings, 10 exempt, 0 violations)typecheckcleanvitest run clis/youtube/ clis/xiaohongshu/→ 13 files / 114 tests passNotes
videoId→video_idrename is a-f jsonschema change. The field was hidden (not in columns), so it's not a publicized contract. Leaning on convention consistency over backward compat for an undocumented field.xsec_tokenin the URL — addingidexposes the canonical id but the url-with-token flow is what actually round-trips. Both visible now.author_urlfrom columns; xhs row never extracts the note id even though url contains it. Will be a separate PR.Adapter-only fast merge candidate.