Publish authoritative homework questions for every current non-legacy course
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 28/100
調査の方向性
まず、AI Dev Tools、Data Engineering、Machine Learning、LLM リポジトリにある、現在のコホートにマッピングされた homework.yaml と homework.md のファイルから始め、リンクされている curriculum と content-pipeline の契約を読みます。最初にインベントリとプロヴェナンステーブルを作成し、各リポジトリのチェックに加えて Web サイトの pull/import を実行します。replay が no-op になり、現在レンダリングされている homework がソースと一致し、legacy/除外コンテンツが変更されていない場合にのみ、作業完了とみなします。
索引モデルが issue の本文から書いたものです。
説明
Outcome
Every homework exposed by a current, non-legacy, live schema-v2 cohort must contain its real, source-authoritative questions rather than the generated placeholder “Describe one practical idea you took from this module.” The structured YAML in each course repository remains the publication authority; the website must not patch content in templates, Python, migrations, or fallback files.
Normative references:
zoomcamp-ops/docs/shared-curriculum-v2.mdzoomcamp-ops/docs/curriculum-contract.md_docs/design/specs/unit-content-pipeline.md_docs/runbooks/course-content-push-and-pull.md_docs/architecture/database-only-content.md
Boundary and authority decisions
- In scope are mapped homework manifests of the one
course.yaml.current_cohortwhosecohort.yamlsaysdelivery: liveandcurriculum: currentin schema-v2 repositories. Today that means AI Dev Tools 2026, Data Engineering 2027, Machine Learning 2026, and LLM 2026. - MLOps
self-pacedis intentionally excluded: its v2 contract requireshomework: []; this issue must not weaken that rule or invent scored self-paced assignments. - Stock Markets Analytics is schema v1 with no current/non-legacy homework-manifest graph, so CMP’s 2026 questions are not published by this issue. Migrating that course is a separate product/content decision.
- Authority precedence is: (1) sanitized current CMP public-content prompts/options/points for a matching current cohort/homework (currently AI homework 1–2 and LLM homework 1–5); (2) the matching current repository
homework.mdand current teaching material for gaps (AI homework 3–4, LLM homework 6–7, ML 2026, and DE 2027 drafts); (3) a named course owner. Older cohorts are corroboration only, never silently copied forward. - CMP answers are sensitive and were not queried or logged. Never inspect, export, infer, or commit them. A native choice question without an approved encrypted answer may remain a choice question only with
points: 0; do not degrade it into generic free text or pretend it is gradable.
Scope
- Build a checked inventory of every in-scope
{repository, cohort, module, homework.yaml, homework.md}, its current placeholder/real questions, and the authoritative source used for each replacement. - Replace placeholder-only question arrays with the actual current assignment questions, preserving the authoritative wording, order, question type, options, and points that can be supported safely.
- Give every structured question a stable unique
content_idand stable meaningfulid; preserve existing published homework identities/slugs/routes. - Add encrypted answer envelopes only through the approved authoring workflow and key id. If no approved envelope exists, set the question to unscored without inventing an answer.
- Commit and push reviewed source changes to each course repository’s
mainin focused per-repository commits, then run the normal website pull/import and verify the persisted/rendered result. Record source and website sync SHAs.
Non-goals
- Writing new substitute questions when no authority can be found.
- Reading or exporting CMP learner answers, correct-answer tables, submissions, or other protected data.
- Migrating schema-v1 Stock Markets Analytics, adding MLOps self-paced homework, or editing legacy/archive cohorts.
- Changing homework due dates, open/closed state, form telemetry fields, routes, grading policy, or lesson content.
- Adding a website-side content fallback or hardcoded question copy.
- Bundling the community-notes removal in #424 or lesson/video/navigation work in #425; each must remain an independently reversible change.
Dependencies and safety
- Requires read access only to the sanitized CMP public-content projection plus the public source repositories. Any answer encryption requires the existing approved key/authoring procedure; lack of it is not permission to access sensitive answers.
- Source repositories may have unrelated work in progress. In particular, AI Dev Tools and Data Engineering were dirty during grooming. Implement from a clean, pinned worktree or coordinate ownership; never stash, overwrite, or include unrelated changes.
- Run each source repository’s own
AGENTS.md/checks pluszoomcamp-opsvalidation before push. Pushing focused source commits tomainis authorized by the raw request, but only after review/checks.
Acceptance criteria
- The inventory accounts for every mapped homework in all four in-scope live current cohorts and explicitly records the MLOps and Stock Markets exclusions above.
- No in-scope
homework.yamlcontains the exact generic placeholder or a paraphrased filler replacement; every question has a cited current authority. - CMP-backed entries preserve sanitized prompt, option labels/order, type, and points unless a documented safety normalization is required. No protected answer value appears in a diff, log, issue, screenshot, or report.
- Repository-backed entries are traceable to the exact current
homework.md/teaching source path and commit; wording is not inferred from an older cohort. - Choice/check-box questions remain native structured choices with at least two stable option ids. Free-form questions declare the correct answer type. Stable question ids/content ids are unique and survive replay.
- A question with positive points has a valid approved encrypted answer envelope. Without one it is explicitly
points: 0; imports and UI do not claim it can be auto-scored. - Homework manifest, source-repository, parser/import, duplicate-id, answer-envelope, and mapping checks pass in each affected repository and the website.
- Each source repository change is a focused reviewed commit on
main; the report records repository SHA, authority paths, exclusions, and rollback commit. - Website sync/import pins those accepted SHAs, completes without unresolved homework/question mappings, and a replay is a no-op with unchanged question counts/identities.
- On a real current homework page per affected family, the rendered prompt/order/options/points match source YAML; submission controls and scored/unscored messaging match the manifest. No placeholder remains in the database or rendered current routes.
- Legacy/archive course pages and their stored submissions/questions are byte/row-count stable.
Verification scenarios
Source/repository
- Generate the inventory and provenance table without learner data.
- Run each repository’s curriculum checker and tests against the exact commit to push; run
zoomcamp-opscontract/fixture tests for every supported question shape. - Search current live manifest paths for the placeholder and assert zero matches; separately prove excluded archive paths were untouched.
- Import the pinned commits into an isolated website database twice and compare homework/question identities, counts, prompts, options, points, and answer-envelope metadata.
Browser
- Open at least one current homework for AI Dev Tools, Data Engineering, Machine Learning, and LLM, including one CMP-backed and one repository-backed gap.
- Verify questions/options/order and scored versus unscored treatment against YAML; submit a synthetic response through each supported control type.
- Check anonymous preview plus signed-in open/closed states at desktop and 390px mobile in both themes; no prompt/options overflow and keyboard focus/order remain correct.
- Open a representative legacy/archive page and confirm its content and route are unchanged.
Blocker rule
If an in-scope homework has no defensible current authority, stop on that homework, record the exact missing authority, and request a course-owner decision. Do not close the issue by inventing content.
Evidence to attach
- Inventory/provenance/exclusion table, without sensitive answers.
- Source SHAs and focused check results per repository.
- Website import/replay report and rendered desktop/mobile evidence.
- 主要言語
- Python
- スター
- 0
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
DataTalksClub/website のほかの issue
-
bug infra operations P1 testing
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
DataTalksClub/website#329 ·
-
bug content data-migration documentation events operations P1
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
DataTalksClub/website#327 ·
-
bug frontend P0 testing
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
DataTalksClub/website#300 · コメント 7 件 ·
-
bug data-migration events P0 testing
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
DataTalksClub/website#295 · コメント 6 件 ·
-
admin courses data-migration email enhancement integration operations P1
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
DataTalksClub/website#468 · コメント 6 件 ·
DataTalksClub/website の issue をすべて見る
似ている issue
-
comp/cli P3 type/security
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
NousResearch/hermes-agent#141420 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
vendor-pitch
難易度 2/5 1〜3時間 初心者へのやさしさ 87/100
メンテナーはふだん 1 日以内に返信
-
bug llm p2
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
New tool: ZIPZAX Python Notebook Studio対応中かも @github-actions が今日担当しました。 オープンsubmission triage
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
kausalflow/tools#226 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100