docs/problems/question taxonomy
print
problems · reference

question taxonomy

Every question has one home in the subject tree, plus only the extra concepts and facets that it genuinely assesses.

why this exists
The taxonomy keeps the library browsable and makes future topic progress meaningful. It is a Mathleagues learning map, not a claim that there is one perfect way to organize all of mathematics.

one path, a few facets

levelwhat it meansexample
subjectA broad branch of mathematics.Calculus
unitA coherent group within a subject.Integral Calculus
topicA specific leaf learning objective.Area Between Curves
tagHow the question is approached or presented.tag.task.proof

Subjects and units are parents, not labels that authors attach directly to a question. A question chooses one primary topic and may choose additional assessed topics. The parent subject and unit are derived from those topic IDs.

the stored contract

Questions store stable IDs rather than labels. The catalog supplies the labels you see in the library, solve view, and future topic tree.

classification
{
  "schemaVersion": 1,
  "primaryTopicId": "topic.area-between-curves",
  "assessedTopicIds": [
    "topic.area-between-curves",
    "topic.definite-integrals"
  ],
  "tagIds": []
}

primary and assessed topics

The primary topic is the question's main intended learning objective. It determines where the question appears in the browse tree. Assessed topics are additional concepts that the question materially tests; the primary topic is always included in that list.

Do not list every prerequisite. A calculus question that uses ordinary arithmetic does not automatically assess arithmetic. This keeps one solved problem from lighting up half the tree.

progress is exploration, not instant mastery
The topic tree can show unavailable, unseen, attempted, explored, and coverage states. One correct solution is evidence that a learner explored a topic, not a complete mastery claim. Multi-topic coverage counts unique problem IDs.

tags are controlled filters

Tags are deliberately small and orthogonal to the subject tree. They can describe a task, a central technique, a meaningful representation, or a substantive context.

task · prooftechnique · factorization

A tag is not a second topic. The question mode, source, and problem Elo already have their own fields, so tags such as mode.guided, source.contest, or elo.hard are not used. Representation and context are defined facets, but v1 does not yet contain active tags in those facets.

why the labels stay consistent

IDs are immutable; labels are curated display text. Labels and aliases are compared after Unicode normalization, trimming, whitespace collapsing, and locale-stable lowercasing. That means calculus andCalculus resolve to one catalog entry rather than becoming two filters.

Authors select from the catalog instead of typing free-form topics. If no existing topic fits, the question goes through taxonomy review so a new node can be defined once and reused.

when no topic fits

In a saved question draft, choose can't find a suitable topic? to propose a governed path. Reuse an existing subject and unit where possible, or propose the missing unit and subject as needed. Every request must end in a proposed topic and include a definition, rationale, examples, and non-examples. The builder shows normalized label and alias matches before the request can be saved.

supported request paths
existing subject → existing unit → proposed topic
existing subject → proposed unit → proposed topic
proposed subject → proposed unit → proposed topic

A new unsaved question must be saved first, so the request always has a real problem ID. Proposed labels remain in the request record and never become placeholder IDs in the question classification.

request statewhat it means
taxonomy request draftThe author may revise or withdraw it.
awaiting taxonomy reviewThe complete question is in review, but it has no canonical primary topic.
changes requestedReviewer feedback returned the request and question to the author.
mapped to an existing topicA reviewer atomically assigned a real active catalog topic.
accepted for catalog changeThe proposal is valid, but no active topic exists yet.
rejected or withdrawnThe audit remains; revision, replacement, or canonical selection is explicit.
accepted is not active
A catalog-accepted request does not create a selectable topic and cannot make the question publishable. After a reviewed source-code catalog change is deployed, a reviewer must map the request to that real active topic. Publication is a separate strict review action.

Authors see the request state and user-visible history in the editor, preview, and question list. Reviewers use the taxonomy request queue to inspect the full question, proposed path, evidence, similar catalog entries, and history. Mapping preserves unrelated question content and always includes the primary topic among assessed topics.

a worked example

A question asking for the area enclosed by a parabola and a line belongs underCalculus → Integral Calculus → Area Between Curves, with Definite Integrals as an additional assessed topic when the question materially tests evaluation of the integral. The old strings calculus, integration, and area are not three peer tags.

for contributors
Choose the most specific existing leaf, include only genuinely assessed additional topics, and keep tags focused. Reviewers can request a taxonomy change when no existing node is appropriate; they do not create one-off labels on individual questions.