D7.2 Preserve editorial, Person, data and assets while adopting the shared toolkit
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 15/100
Research direction
No implementation files or tests are named. Start with the current DTC AGENTS/PROCESS and governing specs, then read #384 and reconcile the referenced compatibility decisions and dependencies before engineering. Done requires approved per-kind contracts, lossless corpus/rendering and asset verification, atomic failure controls, immutable package/source gates, and green development deployment.
Written by the indexing model from the issue text.
Description
D7.2 Preserve DTC editorial, Person, data and assets while adopting the shared toolkit
Raw intake for PM grooming; implementation not authorized. Repository: DataTalksClub/website. Plan authority: community-base phase7 D7.2, dependencies C7.12 and D7.1; current DTC AGENTS/PROCESS and specs govern site delivery. No C5.3/course-release dependency is introduced.
User intent: simplify and unify backend content parsing/rendering through the released community-base toolkit while preserving every current article/book/podcast/Person/data/asset/source/reader/history/UI behavior. No visible redesign, feature loss, source narrowing, data reset or live operation is requested.
Required full outcome
- Article/book/podcast ingestion becomes thin toolkit adapters with site-owned SyncedDocument storage and current metadata, reader shapes, field/order/provenance/raw-source contracts. Preserve article FAQ/blocks/charts/math/YouTube and authored formatting; books links/archives/covers/Person references; complete podcasts descriptions/transcripts/timestamps/speakers/resources/player/platforms and current route/SEO/catalogue behavior.
- Podcast descriptions follow the already normative strict nonempty scalar requirement; no intro/short/transcript/generated fallback. Current permissive parser is characterized and corrected with lossless valid-corpus equality and malformed-input atomic rejection, not a new editorial policy.
- Package Person/parser becomes sole storage/parser only through a released compatible legacy-source contract and reviewed atomic reader cutover. Preserve exact short identity and public profiles/links/portraits/ordered author/book-author/guest/Event credits and recording-lineage dedup; no People hub, fuzzy/account joins, dual storage/fallback or premature D7.4 source move.
- FAQ keeps its current format as a site kind; podwiki graph/search remain opaque data from their current producer. Platform/Slack data adoption preserves functional validators, singleton IDs/fields/order/source/provenance/cleanup/operator reports and public buttons/page, not merely YAML decoding.
- Referenced assets apply to approved converted input. Every currently served legacy external path retains exact reviewed bytes until a separately accepted compatibility cutover; unreferenced assets are not automatically deleted. Synced editorial rendering retires duplicate cleaner calls only after exact caller ownership changes.
Existing ownership and decisions to reconcile
Reuse #384 for already-landed engine/readers and pending staged/storage/docs-asset retirement; do not repeat its work. Reconcile #40's exact-short foundation with later D23/D24/database-only authority and link the separate Person storage/reader compatibility work. #105 accepted development is not reopened; its remaining HUMAN gate belongs to #74.
Before engineering, PM binds the exact immutable package release/API, configured source/converted manifest and corpus/render/asset provenance, current path ACKs, and cohesive per-kind contracts. Recorded#384 route ruling versus stale spec02/03 route prose needs an exact current compatibility/spec reconciliation; preserve current behavior without silently restoring aliases or creating another break. Person legacy compatibility, data publisher ownership and selected source support must be proved, not assumed from a tag.
Proposed serialized parts: article adapter first; book/podcast adapters; FAQ/graph/search/platform/Slack data contracts; released package-Person compatibility + site reader/storage migration; asset compatibility. Split according to repository process/actual owners; parent closure requires the entire D7.2 outcome, not the first part. No duplicate render/validation/generator/store framework.
Evidence and completion boundary
Require same-source nonempty corpus equality, accepted55-article human-reviewed rendering diff, exact fields/transcript/Person reference and asset path/byte inventories, deterministic replay/cache/provenance and atomic failed-source/cleanup controls. Fresh DTC verification plan, independent Tester terminal evidence/screenshots when graph-required and PM acceptance precede focused commits. Immutable package pin/lock/source gates and actual green development deployment remain mandatory. #442 infrastructure owner resolves deployment; historical reports are references, not borrowed current proof.
Production/cloud/credentials, source authoring/moves, data reset/import/deletion, deployment and cutover are not authorized by intake. Every existing UI/route/task/data/history feature remains until its accepted replacement and required owner receipts. Existing foreign source ownership is preserved. This raw intake grants no source ownership or STATUS change.
- Dominant language
- Python
- Stars
- 0
- Forks
- 0
- Avg merge
- 32m
- Merged PRs (30d)
- 8
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from DataTalksClub/website
-
bug infra operations P1 testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DataTalksClub/website#329 ·
-
bug content data-migration documentation events operations P1
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
DataTalksClub/website#327 ·
-
bug frontend P0 testing
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
DataTalksClub/website#300 · 7 comments ·
-
bug data-migration events P0 testing
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DataTalksClub/website#295 · 6 comments ·
-
foundation
Difficulty 4/5 3-5 days Newbie friendliness 35/100
DataTalksClub/website#482 ·
All issues in DataTalksClub/website
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
btclib-org/btclib#3062 ·
Maintainers usually reply within 1 day
-
area:evals area:infra enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
jse-avl/support-bot#4 · 1 comment ·
-
bug good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
qte77/agentic-job-offer-to-application-kit#487 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
btclib-org/btclib-wallet#801 · 1 comment ·
Maintainers usually reply within 1 day
-
documentation good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 94/100