Repository navigation
content-model: videos - Adapt video Markdown and media references #370
Description
Outcome
Map video Markdown into the existing runtime video contract.
Verified context
content/videos/ contains provider/URL metadata and notes, including placeholders; data/types/videos.ts expects a thumbnail and additional optional fields.
Scope
Implement shared-schema mapping without replacing protected media or inventing assets.
Acceptance criteria
- Mapping settles thumbnail, provider/URL, duration, dates, taxonomy, featured, series/episode and FAQ fields.
- Caption/transcript references and engagement provenance are explicit decisions, not assumed content.
- Markdown notes feed runtime records; missing thumbnails/placeholders are surfaced.
- Tests cover malformed records and publication filtering while reusing media-catalogue contracts.
Boundaries and sources
Creation defines work only; it does not start implementation. Preserve unrelated code, protected assets, editorial wording and existing records. Do not fabricate content, identity, media, manuscript chapters, dates or engagement data. Use approved repository-native authoring, validation, preview and publication decisions; do not provision an external CMS or database. Existing editorial verification remains with its current issues. All acceptance criteria remain unchecked until evidenced.
Repository evidence was inspected on develop at 4ecdb26d9655a48bf000a7c89da2f70383edce87. Recheck before implementation; no build or browser tests were run for this draft. Follow repository instructions and applicable Spec Kit requirements. Paths below refer to this repository.
Sources: repository instructions, application, editorial content.
Branch instructions
- Repository: lightspeedwp/ThisOneTimeOnAcidCom
- Proposed branch:
feat/videos-markdown-adapter - Base:
develop - Naming policy: local guide, validator, organisation strategy.
- Pull request template: Organisation .github/PULL_REQUEST_TEMPLATE/pr_feature.md, per inspected local routing; recheck before opening a PR.
- Constraints: Preserve unrelated changes; do not force-push, merge or deploy. Complete applicable Spec Kit requirements before implementation.
- Conflicts or missing evidence: Proposed branch, not an existing branch; collision freedom is unverified. Recheck current branch routing and open governance changes, including PR automation: repo-governance - Add governance automation and validation #346. Older instructions claim branch rules are absent; the inspected local guide and executable validator establish the current convention. This draft creates no branch or pull request.
Branch instructions — batch 17 audit addendum
Preserve existing outcomes, criteria, boundaries and hierarchy. This addendum refreshes branch/template evidence and adds a provisional file plan; no implementation authority is granted.
- Repository:
lightspeedwp/ThisOneTimeOnAcidCom; implementing target: this video-mapping issue, verified counterpart GitHub issue 370. - Proposed branch:
feat/videos-markdown-adapter; base: refresheddevelop, checked at4ecdb26d9655a48bf000a7c89da2f70383edce87(D). Organisation baseline:8f28eca80bff198879f7aaf496717dc0551bb32e(O). - Branch state: proposed new branch, not created or verified for reuse. Absent from refreshed branches; exact-head PR search returned no matches and no matching open implementation PR identified. Refresh before creation.
- Naming: local guide, validator and organisation strategy authorise feat/type-scope-title for this runtime capability. Static inspection only; validator not executed.
- PR template: shared Feature template. Canonical route map and local workflow agree. Workflow suggests a template/applies a label, not body insertion. Native inheritance/named-template loading unverified. No local/locked-template edits, automatic labels or example closing clauses.
- Parent remains coordination context only; no native development/closing association. Omit parent identifiers, title and URLs from branches, PR metadata and coding prompts.
- Allowed closing targets: none currently. Partial mapping must not close this issue; future references/associations need separate review and whole-outcome evidence.
- Governance PR346 is context, not delivered infrastructure, approval or reuse branch. No repository edits, branch operations, PR changes, force-push, merge, deployment or execution authorised.
Expected file changes
Provisional implementation plan, not delivered code. Existing paths/parent directories inspected at D; new destinations proposed and absent.
| Operation | Path | Intended change | Evidence/revision | Approval or dependency |
|---|---|---|---|---|
| Create, proposed | src/app/utils/videoContentLoader.ts |
Consume approved shared discovery/parser; map identity, notes, provider/URL, duration, dates, taxonomy, featured, series/episode and FAQ fields; produce actionable missing-media/publication diagnostics | D: utils directory, video Markdown and runtime interface | Delivered shared loading/contracts; approved publication/media decisions |
| Edit, conditional | src/app/data/types/videos.ts |
Reconcile agreed optional/missing-field representation and accessibility/media references without silently weakening consumers | D: required thumbnail/presentation fields, YouTube/Vimeo platform restriction and optional FAQ/engagement/series fields | Explicit contract approval and consumer review |
| Create, proposed | src/app/utils/videoContentLoader.test.ts |
Mapping, malformed metadata, duplicate IDs, missing thumbnails, placeholder media and publication-exclusion cases; controlled labelled fixtures | D: utils directory; filename absent; current Jest inspected | Approved TypeScript discovery/transformation and fixture policy |
| Create, proposed | docs/video-content-mapping.md |
Record mappings, missing-value rules, FAQ extraction, publication decisions, diagnostics and downstream handoff | D: docs directory; destination absent | Approved decisions; no fabricated metadata/editorial rewrites |
No moves or deletions. Sampled Markdown lacks thumbnails, contains unverified engagement and repeated placeholder destinations. A valid URL/date does not establish approved media. Source body FAQs need agreed extraction/duplicate-display handling; do not substitute global FAQs. Do not infer captions, transcripts, dates, rights or series data.
Shared schema, validation and loading remain Todo; initial catalogue modelling In Progress and finalisation Backlog. Plans are not delivered dependencies. Require approved contracts and specification-first planning; no dedicated video specification verified. Catalogue naming/envelope conflicts remain unresolved.
Current Jest discovers JavaScript under scripts/tests and transforms JS/JSX, not the proposed TypeScript test. Harness/configuration/dependency changes need separate approval. Flag stale root-guide runtime/testing/branch claims, editorial-import conflict and constitution authority ambiguity without incidental repair.
Routing, taxonomy counts and playback remain separate work. Exclude protected images/references, mock-entry rewrites, fallback component, Supabase, asset migration, analytics, hooks, workflows, deployment, locked governance and changelog edits; resolve changelog disposition separately. No commands, installs, tests, builds or cloud operations performed. Additional paths/material scope changes require revised preview and approval. Exclude credentials/restricted material from public sync; description approval changes no status, ownership, labels, hierarchy or PR associations and grants no implementation authority.
Metadata
Metadata
Assignees
Labels
Type
Fields
Priority
Activity
linear-code commentedon Oct 18, 2026
TOA-318