Skip to content

Eight files in the stackoverflow bundle write tags as a scalar, so no tags parse from them #244

Description

@erekola

Summary

§4.1 specifies the shape:

tags: A YAML list of short strings for cross-cutting categorization.

Eight files in okf/bundles/stackoverflow/ write it as a bare comma-separated scalar instead. tables/posts_questions.md:

tags: stackoverflow, posts, questions

yaml.safe_load returns the single string "stackoverflow, posts, questions", not three tags. The files are:

datasets/stackoverflow.md
tables/posts_answers.md
tables/posts_moderator_nomination.md
tables/posts_questions.md
tables/posts_wiki_placeholder.md
tables/stackoverflow_posts.md
tables/users.md
tables/votes.md

Every other file in the bundle, and all of acme_retail, ga4 and crypto_bitcoin, uses the list form. So this is inconsistent within one bundle produced by one agent run, not a house style.

Why it matters

§3.1 tells a consumer it can synthesize a tag view by scanning frontmatter:

a consumer that wants a tag-browsing view can synthesize one at consumption time by scanning frontmatter

For these eight documents that view is silently wrong. They don't appear under stackoverflow, posts or questions. They appear under a single tag whose text is the whole line. The reference viewer papers over it in viewer/generator.py, coercing a non-list into [str(tags)], which produces exactly that single malformed tag.

This is a bundle defect rather than a conformance failure. §4.1's wording is descriptive, and §11 forbids rejecting a bundle over frontmatter shape, so the files are conformant. They are still a trap for anyone using the shipped bundles as reference material for what OKF looks like, which is what they are there for.

Suggestion

Rewrite the eight to the list form. It's a one-line change per file. Separately, §4.1 could say what a consumer should do with a tags scalar, since permissive conformance means consumers will keep meeting them.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions