Induct Media
Create research-complete artifacts from media-curator acquisitions: a media REF,
citation sidecar, radar sidecar, index/search metadata notes, and optional
profile backlinks. This is the media-curator to research handoff for videos,
lectures, podcasts, talks, and interviews.
Triggers
- "induct media research source"
- "video audio research induction"
- "media research handoff"
- "timestamp citation transcript"
- "media REF template"
- "turn acquired media into research corpus REF"
Inputs
Required:
- Acquired media metadata or local media path from media-curator.
- Transcript sidecar path from
transcribe-media.
- Source URL.
Optional:
--ref-id REF-XXX to use an assigned identifier.
--storage copied|lfs|object-storage|hash-only to choose archive policy.
- Title, platform, duration, publication/upload date, speakers, channel/venue,
license, acquisition ID, media hash, transcript hash.
- Existing citation mentions extracted from the transcript.
Storage Policies
Choose one policy and record it in the REF frontmatter:
| Policy |
Use when |
Required record |
copied |
File is small enough for normal corpus storage |
media/video/ or media/audio/ path and SHA-256 |
lfs |
Git LFS is enabled for large binaries |
LFS path, pointer committed, SHA-256 |
object-storage |
S3/WebDAV/object backend stores binaries |
Object URI, backend name, SHA-256 |
hash-only |
Corpus cannot store or redistribute the media |
Source URL, media SHA-256 when locally available, acquisition note |
Never copy media when license or platform terms do not allow redistribution.
Hash-only records are valid when source integrity and transcript provenance are
enough for corpus analysis.
Output Artifacts
Write or update:
.aiwg/research/findings/REF-XXX.md from templates/reference-media.md
.aiwg/research/citations/REF-XXX-citations.md from templates/citation-sidecar.md
.aiwg/research/radar/REF-XXX-radar.md from templates/radar-sidecar.md
.aiwg/research/index.md or the configured index/search metadata
- Speaker/channel/venue profile backlinks when profiles already exist
Recommended media layout:
media/video/REF-XXX-speaker-year-short-title.mp4
media/audio/REF-XXX-speaker-year-short-title.mp3
media/transcripts/REF-XXX-speaker-year-short-title.transcript.json
Execution Flow
- Read acquisition metadata and transcript sidecar.
- Verify the transcript sidecar has
schema: aiwg.media.transcript.v1,
segments[], source.sha256, and transcript.sha256.
- Resolve or assign
REF-XXX.
- Determine source type (
video, audio, podcast, lecture, interview,
or talk) and select reference-media.md.
- Apply the selected storage policy. Compute missing SHA-256 values when the
local file is readable.
- Generate the media REF with source URL, platform, duration, upload date,
speakers, channel/venue, transcript path/hash, media storage, and license.
- Generate citation sidecar:
- normal paper-style outgoing/incoming tables when formal references exist
- spoken-reference table for timestamped verbal mentions and unresolved
informal references
- Generate radar sidecar with media-specific GRADE rationale.
- Update index/search metadata so
research-query can find the REF by title,
speakers, source URL, channel/venue, source type, and transcript text when
available.
- Report verification limits and required human review before publication
quotes are used.
Citation Rules
Timestamp citations use:
@.aiwg/research/findings/REF-XXX.md @ HH:MM:SS - "exact transcript quote"
The timestamp MUST exist in the transcript sidecar, and the quote MUST exactly
match the transcript text. Keep spoken references distinct from formal paper
citations; unresolved verbal mentions remain valid sidecar rows with
Inducted REF set to -.
Worked Fixture
Minimal media-curator output:
{
"schema": "aiwg.media.acquisition.v1",
"title": "Example Lecture",
"source_url": "https://example.invalid/watch?v=lecture",
"platform": "YouTube",
"media_path": ".aiwg/media/acquisitions/example-lecture.mp4",
"sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"duration": "00:42:00",
"speakers": [{"name": "Doe, Jane"}],
"license": "platform ToS only"
}
Transcript from transcribe-media:
{
"schema": "aiwg.media.transcript.v1",
"source": {
"path": ".aiwg/media/acquisitions/example-lecture.mp4",
"url": "https://example.invalid/watch?v=lecture",
"sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
},
"transcript": {
"sha256": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
"language": "en",
"tool": "human",
"quality": {"limitations": []}
},
"segments": [
{"id": "seg-000001", "start": "00:00:05", "end": "00:00:12", "speaker": "SPEAKER_00", "text": "Exact words from the lecture."}
]
}
Expected research outputs:
REF-XXX.md records source URL, platform, duration, speaker, transcript hash,
media hash, license posture, and key timestamps.
REF-XXX-citations.md includes any formal references plus timestamped spoken
mentions.
REF-XXX-radar.md records media GRADE and refresh cadence.
- Index/search metadata includes source type, speaker, channel/venue, source
URL, transcript path, and storage policy.
A complete, runnable worked example — sample.acquisition.json (from
media-curator /acquire) and sample.transcript.json (from /transcribe-media)
plus the three expected output artifacts — lives in examples/. See
examples/README.md. The acquisition fixture is byte-identical to
media-curator's acquire/examples/sample.acquisition.json, so the input contract
is exercised end to end.
References
- @$AIWG_ROOT/agentic/code/frameworks/media-curator/skills/transcribe-media/SKILL.md
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/reference-media.md
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/citation-sidecar.md
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/radar-sidecar.md
1---2name: induct-media3description: Induct acquired audio/video, transcript sidecars, and source metadata from media-curator into research-complete REF artifacts with timestamp citations and storage policy records4---56# Induct Media78Create research-complete artifacts from media-curator acquisitions: a media REF,9citation sidecar, radar sidecar, index/search metadata notes, and optional10profile backlinks. This is the media-curator to research handoff for videos,11lectures, podcasts, talks, and interviews.1213## Triggers1415- "induct media research source"16- "video audio research induction"17- "media research handoff"18- "timestamp citation transcript"19- "media REF template"20- "turn acquired media into research corpus REF"2122## Inputs2324Required:25- Acquired media metadata or local media path from media-curator.26- Transcript sidecar path from `transcribe-media`.27- Source URL.2829Optional:30- `--ref-id REF-XXX` to use an assigned identifier.31- `--storage copied|lfs|object-storage|hash-only` to choose archive policy.32- Title, platform, duration, publication/upload date, speakers, channel/venue,33 license, acquisition ID, media hash, transcript hash.34- Existing citation mentions extracted from the transcript.3536## Storage Policies3738Choose one policy and record it in the REF frontmatter:3940| Policy | Use when | Required record |41|---|---|---|42| `copied` | File is small enough for normal corpus storage | `media/video/` or `media/audio/` path and SHA-256 |43| `lfs` | Git LFS is enabled for large binaries | LFS path, pointer committed, SHA-256 |44| `object-storage` | S3/WebDAV/object backend stores binaries | Object URI, backend name, SHA-256 |45| `hash-only` | Corpus cannot store or redistribute the media | Source URL, media SHA-256 when locally available, acquisition note |4647Never copy media when license or platform terms do not allow redistribution.48Hash-only records are valid when source integrity and transcript provenance are49enough for corpus analysis.5051## Output Artifacts5253Write or update:54- `.aiwg/research/findings/REF-XXX.md` from `templates/reference-media.md`55- `.aiwg/research/citations/REF-XXX-citations.md` from `templates/citation-sidecar.md`56- `.aiwg/research/radar/REF-XXX-radar.md` from `templates/radar-sidecar.md`57- `.aiwg/research/index.md` or the configured index/search metadata58- Speaker/channel/venue profile backlinks when profiles already exist5960Recommended media layout:61- `media/video/REF-XXX-speaker-year-short-title.mp4`62- `media/audio/REF-XXX-speaker-year-short-title.mp3`63- `media/transcripts/REF-XXX-speaker-year-short-title.transcript.json`6465## Execution Flow66671. Read acquisition metadata and transcript sidecar.682. Verify the transcript sidecar has `schema: aiwg.media.transcript.v1`,69 `segments[]`, `source.sha256`, and `transcript.sha256`.703. Resolve or assign `REF-XXX`.714. Determine source type (`video`, `audio`, `podcast`, `lecture`, `interview`,72 or `talk`) and select `reference-media.md`.735. Apply the selected storage policy. Compute missing SHA-256 values when the74 local file is readable.756. Generate the media REF with source URL, platform, duration, upload date,76 speakers, channel/venue, transcript path/hash, media storage, and license.777. Generate citation sidecar:78 - normal paper-style outgoing/incoming tables when formal references exist79 - spoken-reference table for timestamped verbal mentions and unresolved80 informal references818. Generate radar sidecar with media-specific GRADE rationale.829. Update index/search metadata so `research-query` can find the REF by title,83 speakers, source URL, channel/venue, source type, and transcript text when84 available.8510. Report verification limits and required human review before publication86 quotes are used.8788## Citation Rules8990Timestamp citations use:9192```text93@.aiwg/research/findings/REF-XXX.md @ HH:MM:SS - "exact transcript quote"94```9596The timestamp MUST exist in the transcript sidecar, and the quote MUST exactly97match the transcript text. Keep spoken references distinct from formal paper98citations; unresolved verbal mentions remain valid sidecar rows with99`Inducted REF` set to `-`.100101## Worked Fixture102103Minimal media-curator output:104105```json106{107 "schema": "aiwg.media.acquisition.v1",108 "title": "Example Lecture",109 "source_url": "https://example.invalid/watch?v=lecture",110 "platform": "YouTube",111 "media_path": ".aiwg/media/acquisitions/example-lecture.mp4",112 "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",113 "duration": "00:42:00",114 "speakers": [{"name": "Doe, Jane"}],115 "license": "platform ToS only"116}117```118119Transcript from `transcribe-media`:120121```json122{123 "schema": "aiwg.media.transcript.v1",124 "source": {125 "path": ".aiwg/media/acquisitions/example-lecture.mp4",126 "url": "https://example.invalid/watch?v=lecture",127 "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"128 },129 "transcript": {130 "sha256": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",131 "language": "en",132 "tool": "human",133 "quality": {"limitations": []}134 },135 "segments": [136 {"id": "seg-000001", "start": "00:00:05", "end": "00:00:12", "speaker": "SPEAKER_00", "text": "Exact words from the lecture."}137 ]138}139```140141Expected research outputs:142- `REF-XXX.md` records source URL, platform, duration, speaker, transcript hash,143 media hash, license posture, and key timestamps.144- `REF-XXX-citations.md` includes any formal references plus timestamped spoken145 mentions.146- `REF-XXX-radar.md` records media GRADE and refresh cadence.147- Index/search metadata includes source type, speaker, channel/venue, source148 URL, transcript path, and storage policy.149150A complete, runnable worked example — `sample.acquisition.json` (from151media-curator `/acquire`) and `sample.transcript.json` (from `/transcribe-media`)152plus the three expected output artifacts — lives in `examples/`. See153`examples/README.md`. The acquisition fixture is byte-identical to154media-curator's `acquire/examples/sample.acquisition.json`, so the input contract155is exercised end to end.156157## References158159- @$AIWG_ROOT/agentic/code/frameworks/media-curator/skills/transcribe-media/SKILL.md160- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/reference-media.md161- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/citation-sidecar.md162- @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/radar-sidecar.md