aiwg 2026.6.8 → 2026.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/agentic/code/addons/aiwg-utils/skills/aiwg-regenerate/SKILL.md +7 -5
  2. package/agentic/code/frameworks/media-curator/README.md +12 -1
  3. package/agentic/code/frameworks/media-curator/docs/overview.md +14 -2
  4. package/agentic/code/frameworks/media-curator/docs/type-flexible-curation.md +61 -0
  5. package/agentic/code/frameworks/media-curator/skills/curate/SKILL.md +40 -4
  6. package/agentic/code/frameworks/media-curator/skills/media-curator-quickref/SKILL.md +25 -4
  7. package/agentic/code/frameworks/research-complete/README.md +15 -4
  8. package/agentic/code/frameworks/research-complete/config/source-types.yaml +48 -4
  9. package/agentic/code/frameworks/research-complete/manifest.json +20 -0
  10. package/agentic/code/frameworks/research-complete/skills/induct-media/SKILL.md +170 -0
  11. package/agentic/code/frameworks/research-complete/skills/research-quickref/SKILL.md +31 -3
  12. package/agentic/code/frameworks/research-complete/skills/source-types/SKILL.md +10 -8
  13. package/agentic/code/frameworks/research-complete/templates/citation-sidecar.md +21 -0
  14. package/agentic/code/frameworks/research-complete/templates/entity-profile.md +11 -4
  15. package/agentic/code/frameworks/research-complete/templates/manifest.json +13 -2
  16. package/agentic/code/frameworks/research-complete/templates/reference-media.md +151 -0
  17. package/agentic/code/frameworks/research-complete/templates/reference-templates-guide.md +17 -2
  18. package/agentic/code/frameworks/sdlc-complete/rules/citation-policy.md +35 -2
  19. package/agentic/code/frameworks/sdlc-complete/skills/citation-guard/SKILL.md +4 -0
  20. package/dist/src/artifacts/corpus-tools/source-types.d.ts.map +1 -1
  21. package/dist/src/artifacts/corpus-tools/source-types.js +5 -1
  22. package/dist/src/artifacts/corpus-tools/source-types.js.map +1 -1
  23. package/package.json +1 -1
@@ -13,11 +13,13 @@ script:
13
13
 
14
14
  > **Deterministic execution (#1266)**: this skill has a `script:` entrypoint
15
15
  > that shells out to `aiwg regenerate "$@"`. Prefer
16
- > `aiwg run skill aiwg-regenerate -- <flags>` over agent-mediated invocation.
17
- > When invoked as a slash command on platforms without a deployed command stub,
18
- > the agent MUST run only `aiwg regenerate <flags>` and report its output — no
19
- > exploratory permission requests, no multi-step planning. The deterministic
20
- > CLI is the source of truth.
16
+ > `aiwg run skill aiwg-regenerate -- <flags>` when a platform supports it.
17
+ > The CLI owns the deterministic execution step: provider detection, file
18
+ > writes, preservation logic, backups, and exit codes. The skill owns the
19
+ > agentic layer around that step: intent alignment, output formatting,
20
+ > workspace-state reconciliation, summary, next actions, gates, and recovery.
21
+ > Do not reimplement regeneration manually or add redundant permission
22
+ > prompts before calling the CLI for execution.
21
23
 
22
24
  # Regenerate Platform Context File
23
25
 
@@ -1,6 +1,6 @@
1
1
  # Media Curator Framework
2
2
 
3
- Intelligent media archive management for building, curating, and maintaining comprehensive media collections. Handles discography analysis, source discovery, acquisition, quality assessment, metadata curation, and multi-platform export.
3
+ Intelligent media archive management for building, curating, and maintaining comprehensive media collections. Handles type-flexible collection assessment, discography analysis where relevant, source discovery, acquisition, quality assessment, metadata curation, transcript sidecars for audio/video, integrity/provenance records, and multi-platform export.
4
4
 
5
5
  ## Quick Start
6
6
 
@@ -29,6 +29,9 @@ aiwg use media-curator
29
29
  # Create a research-grade transcript sidecar
30
30
  /transcribe-media /path/to/acquired-media.wav --source-url https://example.invalid/source
31
31
 
32
+ # Hand acquired media and transcript metadata to research-complete
33
+ /induct-media metadata.json --transcript media.transcript.json --source-url https://example.invalid/source --storage hash-only
34
+
32
35
  # Export for a specific platform
33
36
  /export --profile plex /path/to/collection /path/to/output
34
37
  ```
@@ -37,6 +40,7 @@ aiwg use media-curator
37
40
 
38
41
  | Capability | Agent | Command |
39
42
  |-----------|-------|---------|
43
+ | Generic assess-and-plan for arbitrary collections | (integrated) | `/curate` |
40
44
  | Discography research and era identification | `discography-analyst` | `/analyze-artist` |
41
45
  | Multi-platform source discovery | `source-discoverer` | `/find-sources` |
42
46
  | Download orchestration with format selection | `acquisition-manager` | `/acquire` |
@@ -47,9 +51,15 @@ aiwg use media-curator
47
51
  | Multi-platform format export | (integrated) | `/export` |
48
52
  | SHA-256 integrity verification | (integrated) | `/verify-archive` |
49
53
  | Timestamped transcript sidecars | (integrated) | `/transcribe-media` |
54
+ | Research media handoff | (research-complete) | `/induct-media` |
50
55
 
51
56
  ## Architecture
52
57
 
58
+ The framework's generic routing decision is documented in
59
+ `docs/type-flexible-curation.md`: start with assess-and-plan for unknown or
60
+ mixed media, then select music/discography, transcript, acquisition, tagging,
61
+ export, or research handoff paths based on evidence.
62
+
53
63
  ```
54
64
  media-curator/
55
65
  ├── agents/
@@ -84,6 +94,7 @@ media-curator/
84
94
  │ └── defaults.yaml # Default configuration
85
95
  └── docs/
86
96
  ├── overview.md # Framework overview
97
+ ├── type-flexible-curation.md # Generic media routing decision
87
98
  ├── user-guide.md # User guide
88
99
  └── standards-reference.md # Standards (PREMIS, PROV, ID3)
89
100
  ```
@@ -2,7 +2,10 @@
2
2
 
3
3
  ## What It Does
4
4
 
5
- The Media Curator framework enables AI agents to build, curate, and maintain comprehensive media collections. It handles the full lifecycle from artist research through acquisition, organization, verification, and multi-platform export.
5
+ The Media Curator framework enables AI agents to build, curate, and maintain
6
+ comprehensive media collections. It handles the full lifecycle from
7
+ type-flexible assessment through acquisition, organization, verification,
8
+ transcription where needed, research handoff, and multi-platform export.
6
9
 
7
10
  ## Design Philosophy
8
11
 
@@ -18,6 +21,13 @@ Not all media is worth collecting. The framework applies multi-dimensional quali
18
21
 
19
22
  A key field-test learning: classify media by how it was produced (studio, live, broadcast), not how it sounds (acoustic, electric). A stripped-down studio recording is still a studio recording.
20
23
 
24
+ ### Type-Flexible Entry
25
+
26
+ Unknown or mixed media starts with assess-and-plan rather than an audio-only
27
+ path. The framework selects music/discography handling only when the request,
28
+ metadata, filenames, or sources show that the archive is music-centered. See
29
+ `type-flexible-curation.md` for the recorded routing decision.
30
+
21
31
  ### Integrity First
22
32
 
23
33
  Every archive includes self-verifying SHA-256 checksums and W3C PROV-compliant provenance tracking. Bit rot detection is built in, not bolted on.
@@ -49,7 +59,7 @@ Every archive includes self-verifying SHA-256 checksums and W3C PROV-compliant p
49
59
  | `/export` | Multi-platform output |
50
60
  | `/verify-archive` | Integrity verification |
51
61
 
52
- ### Skills (9)
62
+ ### Skills
53
63
 
54
64
  | Skill | Purpose |
55
65
  |-------|---------|
@@ -60,6 +70,8 @@ Every archive includes self-verifying SHA-256 checksums and W3C PROV-compliant p
60
70
  | Quality Filtering | Accept/reject logic |
61
71
  | Cover Art Embedding | Artwork embedding |
62
72
  | Integrity Verification | SHA-256 manifests |
73
+ | Transcribe Media | Timestamped transcript sidecars |
74
+ | Curate | Assess-and-plan for arbitrary or mixed media |
63
75
  | Gap Documentation | GAP-NOTE.md pattern |
64
76
  | Provenance Tracking | W3C PROV-O for media |
65
77
 
@@ -0,0 +1,61 @@
1
+ # Type-Flexible Curation Decision
2
+
3
+ ## Decision
4
+
5
+ Media Curator treats audio, video, transcripts, image sets, documents, and mixed
6
+ collections as first-class media inputs. The default entry point is an
7
+ assess-and-plan pass that identifies the asset types, source surfaces,
8
+ rights/license posture, metadata vocabulary, quality dimensions, fixity needs,
9
+ and downstream export or research handoff target.
10
+
11
+ Music and discography workflows remain supported, but they are specialized
12
+ paths selected only when the request, filenames, metadata, or source context
13
+ show that the collection is music-centered.
14
+
15
+ ## Rationale
16
+
17
+ The original framework grew from music archive work, so several commands and
18
+ examples still mention artists, albums, or audio tools. Those examples are now
19
+ treated as one implemented specialization rather than the framework boundary.
20
+ For arbitrary media, starting with assess-and-plan prevents premature audio-only
21
+ assumptions while preserving the existing mature paths for music collections.
22
+
23
+ ## Routing Rules
24
+
25
+ - Use `curate` for unknown or mixed media collections.
26
+ - Use music/discography skills when artist, album, track, tour, or release
27
+ structure is explicit.
28
+ - Use `transcribe-media` for audio/video that needs research-grade timestamp
29
+ evidence.
30
+ - Hand acquired media plus transcript sidecars to research-complete via
31
+ `induct-media` when the target is a citable research corpus.
32
+ - Record source URL, acquisition method, rights posture, SHA-256 fixity, and
33
+ provenance for every asset type, even when downstream tagging differs.
34
+
35
+ ## Specialization Pattern
36
+
37
+ When an asset type deserves reusable support, add the narrowest specialized
38
+ tooling that fits the observed need:
39
+
40
+ 1. Start with `curate` assess-and-plan and capture sample files, metadata,
41
+ source URLs, expected outputs, licenses, and fixity requirements.
42
+ 2. Prefer an existing library or CLI with stable maintenance and documented
43
+ output formats.
44
+ 3. Wrap the tool as a skill or small helper that preserves the generic contract:
45
+ input discovery/acquisition, quality assessment, metadata/provenance,
46
+ integrity, and export or handoff.
47
+ 4. Keep type-specific fields in that specialized skill or plugin. Do not move
48
+ them into the generic intake unless they apply across asset classes.
49
+ 5. If the workflow is project-specific or experimental, author it as a
50
+ project-local bundle under `.aiwg/{extensions,addons,frameworks,plugins}/`
51
+ and promote upstream only after the contract stabilizes.
52
+
53
+ ## Consequences
54
+
55
+ - New collection types do not require new top-level frameworks before they can
56
+ be assessed and planned.
57
+ - Quality assessment is type-specific: audio fidelity, video resolution,
58
+ transcript confidence, image/document legibility, uniqueness, and provenance
59
+ are evaluated only where relevant.
60
+ - Existing music workflows remain stable but no longer define the generic
61
+ capability language.
@@ -2,9 +2,16 @@
2
2
  namespace: aiwg
3
3
  name: curate
4
4
  platforms: [all]
5
- description: Orchestrate end-to-end media curation from analysis through acquisition, tagging, and verification
5
+ description: Orchestrate type-flexible media curation from assessment and planning through acquisition, tagging/transcription, provenance, and verification
6
+ userInvocable: true
7
+ triggers:
8
+ - "curate arbitrary media collection"
9
+ - "assess unsupported media type"
10
+ - "plan mixed media archive"
11
+ - "curate media collection"
12
+ - "build media curation plan"
6
13
  commandHint:
7
- argumentHint: '"<artist>" [--scope complete|era:NAME|style:NAME] [--output <dir>] [--quality <threshold>] [--export <profile>]'
14
+ argumentHint: '"<collection-or-artist>" [--scope complete|era:NAME|style:NAME|custom] [--output <dir>] [--quality <threshold>] [--export <profile>]'
8
15
  allowedTools: 'Bash, Read, Write, Glob, Grep, WebSearch, WebFetch, Task'
9
16
  model: opus
10
17
  category: media-curator
@@ -13,11 +20,40 @@ commandHint:
13
20
 
14
21
  # Curate Media Collection
15
22
 
16
- Main orchestration entry point for end-to-end media curation. Analyzes artist discography, discovers high-quality sources, acquires media, tags metadata, verifies integrity, checks completeness, and optionally exports to platform-specific formats.
23
+ Main orchestration entry point for end-to-end media curation. It first assesses
24
+ the requested collection type and available examples, then chooses the right
25
+ workflow: artist discography curation, video/audio acquisition and transcript
26
+ handoff, archive verification, metadata tagging, or a narrow custom tooling plan
27
+ for unsupported asset types.
28
+
29
+ ## Triggers
30
+
31
+ - "curate arbitrary media collection"
32
+ - "assess unsupported media type"
33
+ - "plan mixed media archive"
34
+ - "curate media collection"
35
+ - "build media curation plan"
17
36
 
18
37
  ## Purpose
19
38
 
20
- Media curation is a multi-phase workflow requiring coordination across analysis, discovery, acquisition, metadata tagging, verification, and export. This command orchestrates the full pipeline, managing dependencies between phases and ensuring quality at each step.
39
+ Media curation is a multi-phase workflow requiring coordination across
40
+ assessment, discovery, acquisition, metadata tagging, transcription when
41
+ relevant, verification, provenance, and export. This command orchestrates the
42
+ full pipeline, managing dependencies between phases and ensuring quality at
43
+ each step.
44
+
45
+ ## Type-Flexible Intake
46
+
47
+ Do not assume every request is an artist/music collection. Inspect:
48
+ - user intent and desired output
49
+ - available examples, filenames, metadata, source URLs, and licenses
50
+ - target asset types and expected consumers
51
+ - existing libraries/tools for the asset type
52
+
53
+ If the framework has specialized handling, use it. If it does not, produce a
54
+ concrete assess-and-plan result, collect safe provenance/source/license/fixity
55
+ metadata, and identify the narrow reusable tool or plugin needed next. Existing
56
+ audio/music workflows remain valid specialized paths.
21
57
 
22
58
  ## Parameters
23
59
 
@@ -3,7 +3,7 @@ name: media-curator-quickref
3
3
  namespace: aiwg
4
4
  platforms: [all]
5
5
  kernel: true
6
- description: AUTO-INVOKE when user mentions media curation, discography, archive, music collection, source acquisition, metadata tagging, Plex, Jellyfin, MPD. Media-curator framework quick reference — discovery phrases for discography analysis, source discovery, acquisition, quality filtering, metadata, archive integrity.
6
+ description: AUTO-INVOKE when user mentions media curation, discography, archive, music collection, video/audio collection, source acquisition, metadata tagging, transcript, Plex, Jellyfin, MPD. Media-curator framework quick reference — discovery phrases for collection assessment, source discovery, acquisition, transcription, quality filtering, metadata, archive integrity, and research handoff.
7
7
  ---
8
8
 
9
9
  # Media Curator Framework — Quick Reference
@@ -31,24 +31,29 @@ If your platform's Skill tool errors on a non-kernel skill (expected — most ar
31
31
 
32
32
  ## What this framework is for
33
33
 
34
- End-to-end media archive management: discover sources across YouTube/Internet Archive/Bandcamp, acquire with `yt-dlp`-based patterns, score quality, embed cover art, apply consistent metadata, generate gap notes for missing content, verify integrity with SHA-256, and export to platform-specific formats (Plex, Jellyfin, MPD, mobile, archival).
34
+ End-to-end media archive management for audio, video, and other curated asset collections. It can inspect the requested collection type, plan a workflow, discover sources across YouTube/Internet Archive/Bandcamp or other relevant surfaces, acquire with proven tools, score quality, apply consistent metadata, generate gap notes for missing content, verify integrity with SHA-256, transcribe acquired audio/video, and export to platform-specific formats (Plex, Jellyfin, MPD, mobile, archival).
35
35
 
36
36
  ## Capability domains
37
37
 
38
38
  | Domain | Covers |
39
39
  |---|---|
40
+ | **Assess & plan** | Inspect arbitrary collection requests, examples, filenames, metadata, source URLs, and select workflow/tooling |
40
41
  | **Catalog planning** | Artist discography analysis, canonical catalog structure |
41
42
  | **Discovery & acquisition** | Find sources, download with quality scoring, yt-dlp / Internet Archive patterns |
43
+ | **Transcription** | Timestamped transcript sidecars for acquired audio/video |
42
44
  | **Metadata & assembly** | Tag files, embed cover art, assemble compilations |
43
45
  | **Completeness & gaps** | Audit collection completeness, document missing content |
44
46
  | **Integrity & export** | SHA-256 verification, platform-specific export bundles |
45
- | **Provenance** | Track derivation chains for media files |
47
+ | **Provenance** | Track derivation chains, source, license, and integrity records for curated assets |
48
+ | **Research handoff** | Pass acquired media plus transcripts into research-complete `induct-media` |
46
49
 
47
50
  ## Curated discovery phrases
48
51
 
49
52
  ### Catalog planning
50
53
 
51
54
  ```bash
55
+ aiwg discover "curate arbitrary media collection" # → curate
56
+ aiwg discover "assess unsupported media type" # → curate / provenance-tracking
52
57
  aiwg discover "analyze artist discography" # → analyze-artist
53
58
  ```
54
59
 
@@ -63,6 +68,14 @@ aiwg discover "audio extraction" # → audio-extraction (pattern r
63
68
  aiwg discover "quality filter media" # → quality-filtering
64
69
  ```
65
70
 
71
+ ### Transcription & research handoff
72
+
73
+ ```bash
74
+ aiwg discover "transcribe media" # → transcribe-media
75
+ aiwg discover "media research handoff" # → induct-media (research-complete)
76
+ aiwg discover "video audio research induction" # → transcribe-media / induct-media
77
+ ```
78
+
66
79
  ### Metadata & assembly
67
80
 
68
81
  ```bash
@@ -97,7 +110,8 @@ aiwg discover "provenance tracking" # → provenance-tracking
97
110
  ## Workflow shape
98
111
 
99
112
  ```
100
- analyze-artist (catalog plan) →
113
+ assess request and examples →
114
+ analyze-artist or type-specific plan →
101
115
  find-sources (discovery) →
102
116
  quality-filtering (accept/reject) →
103
117
  acquire (download) →
@@ -108,6 +122,12 @@ analyze-artist (catalog plan) →
108
122
 
109
123
  `gap-documentation` and `check-completeness` run cross-cutting at any stage.
110
124
 
125
+ For unknown or lightly supported asset types, first inspect available examples,
126
+ filenames, metadata, source URLs, and user intent. Prefer established libraries
127
+ or tools; create narrow custom tooling only when necessary. If specialized
128
+ handling is missing, produce a concrete plan, collect safe metadata/provenance
129
+ and integrity records, and identify the follow-up tool or plugin needed.
130
+
111
131
  ## Artifact directory layout
112
132
 
113
133
  ```
@@ -115,6 +135,7 @@ analyze-artist (catalog plan) →
115
135
  ├── catalogs/ # Per-artist canonical discographies
116
136
  ├── sources/ # Discovery output (ranked candidates)
117
137
  ├── acquisitions/ # Acquired files + checksums
138
+ ├── transcripts/ # Transcript sidecars for acquired audio/video
118
139
  ├── gaps/ # GAP-NOTE markers for missing content
119
140
  ├── exports/ # Platform-specific export bundles
120
141
  └── verify/ # Integrity reports
@@ -6,15 +6,16 @@
6
6
 
7
7
  ## Overview
8
8
 
9
- The Research Framework provides a complete workflow for academic research management: discovering papers via semantic search, acquiring PDFs with FAIR validation, documenting papers using RAG-grounded LLM summarization, and synthesizing knowledge into literature notes. It automates 75% of the research process while maintaining high quality standards and preventing hallucinations.
9
+ The Research Framework provides a complete workflow for academic research management: discovering papers and time-based media, acquiring PDFs or media/transcript artifacts with FAIR validation, documenting sources using RAG-grounded LLM summarization, and synthesizing knowledge into literature notes. It automates 75% of the research process while maintaining high quality standards and preventing hallucinations.
10
10
 
11
11
  ## Why Use This Framework
12
12
 
13
13
  | Problem | Solution | Time Savings |
14
14
  |---------|----------|--------------|
15
- | Manual paper search | Semantic search + gap detection | 60% faster |
15
+ | Manual source search | Semantic search + gap detection | 60% faster |
16
16
  | Tracking paper sources | Persistent REF-XXX identifiers | Always organized |
17
17
  | Paywalled papers | Unpaywall integration + manual upload | Streamlined access |
18
+ | Talks, lectures, podcasts | Media REF template + timestamp citations | Consistent induction |
18
19
  | Reading papers | RAG-based summarization | 75% faster (20min → 5min) |
19
20
  | Preventing hallucinations | Claim validation against source | 0% vs 56% hallucination rate |
20
21
  | Quality assessment | Automated GRADE scoring | Consistent standards |
@@ -26,8 +27,8 @@ The framework implements an 8-stage workflow:
26
27
 
27
28
  ```
28
29
  1. Discovery → Find papers via semantic search
29
- 2. Acquisition → Download PDFs and extract metadata
30
- 3. Documentation → Summarize using RAG and extract structured data
30
+ 2. Acquisition → Download PDFs/media and extract metadata
31
+ 3. Documentation → Summarize using RAG/transcripts and extract structured data
31
32
  4. Citation → Track citations and generate bibliographies
32
33
  5. Quality → Assess source quality using GRADE methodology
33
34
  6. Synthesis → Create literature notes and link related work
@@ -86,6 +87,10 @@ aiwg research --version
86
87
  │ ├── pdfs/
87
88
  │ ├── metadata/
88
89
  │ └── checksums.txt
90
+ ├── media/ # Time-based media records
91
+ │ ├── video/ # Copied/LFS/object-backed video when permitted
92
+ │ ├── audio/ # Copied/LFS/object-backed audio when permitted
93
+ │ └── transcripts/ # Timestamped transcript sidecars
89
94
  ├── knowledge/ # Summaries and notes
90
95
  │ ├── summaries/
91
96
  │ ├── extractions/
@@ -101,6 +106,12 @@ aiwg research --version
101
106
  └── workflow-agent.yaml
102
107
  ```
103
108
 
109
+ Media archival policy is recorded per REF: copy small/licensed files into the
110
+ corpus, use Git LFS or object storage for large redistributable media, or keep a
111
+ hash-only record when platform terms or size prevent storage. Timestamp
112
+ citations point to the REF and exact transcript segment, not directly to a
113
+ platform URL.
114
+
104
115
  ## Usage Examples
105
116
 
106
117
  ### 1. Discover Papers
@@ -188,14 +188,58 @@ types:
188
188
  expert-material:
189
189
  description: Expert commentary, talk, or interview material.
190
190
  aliases: [expert-material, expert material, talk, interview, keynote]
191
- template: reference-web
192
- required_sections: ["Citation", "Summary", "Key Claim"]
193
- citation_format: url-venue-retrieved
191
+ template: reference-media
192
+ required_sections: ["Citation", "Media Profile", "Summary", "Key Timestamps"]
193
+ citation_format: timestamp-transcript
194
194
  acquisition: manual
195
- storage: sources/web
195
+ storage: media/transcripts
196
196
  quality_rules: expert-opinion-hedging
197
197
  default_radar_cadence: on-demand
198
198
 
199
+ video:
200
+ description: Video, conference recording, course recording, or platform-hosted talk.
201
+ aliases: [video, recording, webcast, livestream, stream, lecture-video, conference-video]
202
+ template: reference-media
203
+ required_sections: ["Citation", "Media Profile", "Summary", "Key Timestamps", "Evidence and Transcript Method"]
204
+ citation_format: timestamp-transcript
205
+ acquisition: media-curator
206
+ storage: media/video
207
+ quality_rules: media-grade
208
+ default_radar_cadence: on-demand
209
+
210
+ audio:
211
+ description: Audio recording, lecture audio, or direct-hosted audio source.
212
+ aliases: [audio, audio-recording, lecture-audio, recording-audio]
213
+ template: reference-media
214
+ required_sections: ["Citation", "Media Profile", "Summary", "Key Timestamps", "Evidence and Transcript Method"]
215
+ citation_format: timestamp-transcript
216
+ acquisition: media-curator
217
+ storage: media/audio
218
+ quality_rules: media-grade
219
+ default_radar_cadence: on-demand
220
+
221
+ podcast:
222
+ description: Podcast episode or feed-hosted interview.
223
+ aliases: [podcast, podcast-episode, episode, interview-audio]
224
+ template: reference-media
225
+ required_sections: ["Citation", "Media Profile", "Summary", "Key Timestamps", "Evidence and Transcript Method"]
226
+ citation_format: timestamp-transcript
227
+ acquisition: media-curator
228
+ storage: media/audio
229
+ quality_rules: interview-hedged-grade
230
+ default_radar_cadence: on-demand
231
+
232
+ lecture:
233
+ description: Institutional lecture, course video, keynote, seminar, or invited talk recording.
234
+ aliases: [lecture, course, seminar, keynote, talk, invited-talk, conference-talk]
235
+ template: reference-media
236
+ required_sections: ["Citation", "Media Profile", "Summary", "Key Timestamps", "Evidence and Transcript Method"]
237
+ citation_format: timestamp-transcript
238
+ acquisition: media-curator
239
+ storage: media/video
240
+ quality_rules: lecture-grade
241
+ default_radar_cadence: on-demand
242
+
199
243
  internal-review:
200
244
  description: Internal research note or architecture review (not an external source).
201
245
  aliases: [internal-review, internal-research, internal-architecture-review, audit]
@@ -58,6 +58,22 @@
58
58
  {
59
59
  "path": ".aiwg/frameworks/research-complete/knowledge/",
60
60
  "description": "Knowledge base and lit notes"
61
+ },
62
+ {
63
+ "path": ".aiwg/frameworks/research-complete/media/",
64
+ "description": "Time-based research media records"
65
+ },
66
+ {
67
+ "path": ".aiwg/frameworks/research-complete/media/video/",
68
+ "description": "Video sources when copied or LFS/object-storage backed"
69
+ },
70
+ {
71
+ "path": ".aiwg/frameworks/research-complete/media/audio/",
72
+ "description": "Audio sources when copied or LFS/object-storage backed"
73
+ },
74
+ {
75
+ "path": ".aiwg/frameworks/research-complete/media/transcripts/",
76
+ "description": "Timestamped transcript sidecars for media REFs"
61
77
  }
62
78
  ],
63
79
  "topology": {
@@ -65,6 +81,10 @@
65
81
  "rawSources": ".aiwg/research/sources",
66
82
  "derivedPages": {
67
83
  "summary": ".aiwg/research/findings",
84
+ "media": ".aiwg/research/media",
85
+ "mediaVideo": ".aiwg/research/media/video",
86
+ "mediaAudio": ".aiwg/research/media/audio",
87
+ "mediaTranscripts": ".aiwg/research/media/transcripts",
68
88
  "entity": ".aiwg/research/knowledge/entities",
69
89
  "concept": ".aiwg/research/knowledge/concepts",
70
90
  "synthesis": ".aiwg/research/synthesis"
@@ -0,0 +1,170 @@
1
+ ---
2
+ namespace: aiwg
3
+ platforms: [all]
4
+ name: induct-media
5
+ description: Induct acquired audio/video, transcript sidecars, and source metadata from media-curator into research-complete REF artifacts with timestamp citations and storage policy records
6
+ userInvocable: true
7
+ triggers:
8
+ - "induct media research source"
9
+ - "video audio research induction"
10
+ - "media research handoff"
11
+ - "timestamp citation transcript"
12
+ - "media REF template"
13
+ - "turn acquired media into research corpus REF"
14
+ commandHint:
15
+ argumentHint: "<media-metadata.json|media-path> --transcript <path> --source-url <url> [--storage copied|lfs|object-storage|hash-only] [--ref-id REF-XXX] [--dry-run]"
16
+ allowedTools: Read, Write, Glob, Grep, Bash
17
+ model: sonnet
18
+ category: research
19
+ ---
20
+
21
+ # Induct Media
22
+
23
+ Create research-complete artifacts from media-curator acquisitions: a media REF,
24
+ citation sidecar, radar sidecar, index/search metadata notes, and optional
25
+ profile backlinks. This is the media-curator to research handoff for videos,
26
+ lectures, podcasts, talks, and interviews.
27
+
28
+ ## Triggers
29
+
30
+ - "induct media research source"
31
+ - "video audio research induction"
32
+ - "media research handoff"
33
+ - "timestamp citation transcript"
34
+ - "media REF template"
35
+ - "turn acquired media into research corpus REF"
36
+
37
+ ## Inputs
38
+
39
+ Required:
40
+ - Acquired media metadata or local media path from media-curator.
41
+ - Transcript sidecar path from `transcribe-media`.
42
+ - Source URL.
43
+
44
+ Optional:
45
+ - `--ref-id REF-XXX` to use an assigned identifier.
46
+ - `--storage copied|lfs|object-storage|hash-only` to choose archive policy.
47
+ - Title, platform, duration, publication/upload date, speakers, channel/venue,
48
+ license, acquisition ID, media hash, transcript hash.
49
+ - Existing citation mentions extracted from the transcript.
50
+
51
+ ## Storage Policies
52
+
53
+ Choose one policy and record it in the REF frontmatter:
54
+
55
+ | Policy | Use when | Required record |
56
+ |---|---|---|
57
+ | `copied` | File is small enough for normal corpus storage | `media/video/` or `media/audio/` path and SHA-256 |
58
+ | `lfs` | Git LFS is enabled for large binaries | LFS path, pointer committed, SHA-256 |
59
+ | `object-storage` | S3/WebDAV/object backend stores binaries | Object URI, backend name, SHA-256 |
60
+ | `hash-only` | Corpus cannot store or redistribute the media | Source URL, media SHA-256 when locally available, acquisition note |
61
+
62
+ Never copy media when license or platform terms do not allow redistribution.
63
+ Hash-only records are valid when source integrity and transcript provenance are
64
+ enough for corpus analysis.
65
+
66
+ ## Output Artifacts
67
+
68
+ Write or update:
69
+ - `.aiwg/research/findings/REF-XXX.md` from `templates/reference-media.md`
70
+ - `.aiwg/research/citations/REF-XXX-citations.md` from `templates/citation-sidecar.md`
71
+ - `.aiwg/research/radar/REF-XXX-radar.md` from `templates/radar-sidecar.md`
72
+ - `.aiwg/research/index.md` or the configured index/search metadata
73
+ - Speaker/channel/venue profile backlinks when profiles already exist
74
+
75
+ Recommended media layout:
76
+ - `media/video/REF-XXX-speaker-year-short-title.mp4`
77
+ - `media/audio/REF-XXX-speaker-year-short-title.mp3`
78
+ - `media/transcripts/REF-XXX-speaker-year-short-title.transcript.json`
79
+
80
+ ## Execution Flow
81
+
82
+ 1. Read acquisition metadata and transcript sidecar.
83
+ 2. Verify the transcript sidecar has `schema: aiwg.media.transcript.v1`,
84
+ `segments[]`, `source.sha256`, and `transcript.sha256`.
85
+ 3. Resolve or assign `REF-XXX`.
86
+ 4. Determine source type (`video`, `audio`, `podcast`, `lecture`, `interview`,
87
+ or `talk`) and select `reference-media.md`.
88
+ 5. Apply the selected storage policy. Compute missing SHA-256 values when the
89
+ local file is readable.
90
+ 6. Generate the media REF with source URL, platform, duration, upload date,
91
+ speakers, channel/venue, transcript path/hash, media storage, and license.
92
+ 7. Generate citation sidecar:
93
+ - normal paper-style outgoing/incoming tables when formal references exist
94
+ - spoken-reference table for timestamped verbal mentions and unresolved
95
+ informal references
96
+ 8. Generate radar sidecar with media-specific GRADE rationale.
97
+ 9. Update index/search metadata so `research-query` can find the REF by title,
98
+ speakers, source URL, channel/venue, source type, and transcript text when
99
+ available.
100
+ 10. Report verification limits and required human review before publication
101
+ quotes are used.
102
+
103
+ ## Citation Rules
104
+
105
+ Timestamp citations use:
106
+
107
+ ```text
108
+ @.aiwg/research/findings/REF-XXX.md @ HH:MM:SS - "exact transcript quote"
109
+ ```
110
+
111
+ The timestamp MUST exist in the transcript sidecar, and the quote MUST exactly
112
+ match the transcript text. Keep spoken references distinct from formal paper
113
+ citations; unresolved verbal mentions remain valid sidecar rows with
114
+ `Inducted REF` set to `-`.
115
+
116
+ ## Worked Fixture
117
+
118
+ Minimal media-curator output:
119
+
120
+ ```json
121
+ {
122
+ "schema": "aiwg.media.acquisition.v1",
123
+ "title": "Example Lecture",
124
+ "source_url": "https://example.invalid/watch?v=lecture",
125
+ "platform": "YouTube",
126
+ "media_path": ".aiwg/media/acquisitions/example-lecture.mp4",
127
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
128
+ "duration": "00:42:00",
129
+ "speakers": [{"name": "Doe, Jane"}],
130
+ "license": "platform ToS only"
131
+ }
132
+ ```
133
+
134
+ Transcript from `transcribe-media`:
135
+
136
+ ```json
137
+ {
138
+ "schema": "aiwg.media.transcript.v1",
139
+ "source": {
140
+ "path": ".aiwg/media/acquisitions/example-lecture.mp4",
141
+ "url": "https://example.invalid/watch?v=lecture",
142
+ "sha256": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
143
+ },
144
+ "transcript": {
145
+ "sha256": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
146
+ "language": "en",
147
+ "tool": "human",
148
+ "quality": {"limitations": []}
149
+ },
150
+ "segments": [
151
+ {"id": "seg-000001", "start": "00:00:05", "end": "00:00:12", "speaker": "SPEAKER_00", "text": "Exact words from the lecture."}
152
+ ]
153
+ }
154
+ ```
155
+
156
+ Expected research outputs:
157
+ - `REF-XXX.md` records source URL, platform, duration, speaker, transcript hash,
158
+ media hash, license posture, and key timestamps.
159
+ - `REF-XXX-citations.md` includes any formal references plus timestamped spoken
160
+ mentions.
161
+ - `REF-XXX-radar.md` records media GRADE and refresh cadence.
162
+ - Index/search metadata includes source type, speaker, channel/venue, source
163
+ URL, transcript path, and storage policy.
164
+
165
+ ## References
166
+
167
+ - @$AIWG_ROOT/agentic/code/frameworks/media-curator/skills/transcribe-media/SKILL.md
168
+ - @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/reference-media.md
169
+ - @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/citation-sidecar.md
170
+ - @$AIWG_ROOT/agentic/code/frameworks/research-complete/templates/radar-sidecar.md
@@ -3,7 +3,7 @@ name: research-quickref
3
3
  namespace: aiwg
4
4
  platforms: [all]
5
5
  kernel: true
6
- description: AUTO-INVOKE when user mentions research, paper, citation, GRADE, corpus, provenance, literature review, induct paper, evidence, bibliography. Research framework quick reference — discovery phrases for corpus inception, paper acquisition, GRADE quality, citation graphs, provenance-tracked synthesis.
6
+ description: AUTO-INVOKE when user mentions research, paper, citation, GRADE, corpus, provenance, literature review, induct paper, induct media, video/audio research, timestamp citations, evidence, bibliography. Research framework quick reference — discovery phrases for corpus inception, paper and media acquisition, GRADE quality, citation graphs, provenance-tracked synthesis.
7
7
  ---
8
8
 
9
9
  # Research Framework — Quick Reference
@@ -31,7 +31,7 @@ If your platform's Skill tool errors on a non-kernel skill (expected — most ar
31
31
 
32
32
  ## What this framework is for
33
33
 
34
- Research workflow automation. Builds and maintains a citation-graphed research corpus: discover papers, acquire PDFs, induct sources with structured analysis, assess quality via GRADE, build citation networks, query with grounded answers, and archive with W3C PROV provenance.
34
+ Research workflow automation. Builds and maintains a citation-graphed research corpus: discover papers and time-based media, acquire PDFs or media/transcripts, induct sources with structured analysis, assess quality via GRADE, build citation networks, query with grounded answers, and archive with W3C PROV provenance.
35
35
 
36
36
  ## Capability domains
37
37
 
@@ -39,6 +39,7 @@ Research workflow automation. Builds and maintains a citation-graphed research c
39
39
  |---|---|
40
40
  | **Discovery & acquisition** | Find papers across academic databases, download PDFs, extract metadata |
41
41
  | **Induction & summarization** | Bring sources into the corpus with structured analysis and literature notes |
42
+ | **Time-based media** | Induct videos, lectures, podcasts, interviews, transcript sidecars, timestamp citations |
42
43
  | **Quality assessment** | GRADE methodology — assess study design, sample size, conflicts, peer review |
43
44
  | **Citation graphs** | Build/maintain citation networks, detect gaps, traverse with `aiwg index neighbors` |
44
45
  | **Querying the corpus** | Grounded answers with inline REF-XXX citations |
@@ -62,6 +63,15 @@ aiwg discover "induct research source" # → induct-research (score 1.00
62
63
  aiwg discover "research document summary" # → research-document
63
64
  ```
64
65
 
66
+ ### Time-based media
67
+
68
+ ```bash
69
+ aiwg discover "induct media research source" # → induct-media
70
+ aiwg discover "video audio research induction" # → induct-media / transcribe-media
71
+ aiwg discover "timestamp citation transcript" # → induct-media / citation-guard
72
+ aiwg discover "media REF template" # → source-types / induct-media
73
+ ```
74
+
65
75
  ### Quality assessment
66
76
 
67
77
  ```bash
@@ -113,6 +123,10 @@ Research artifacts go under `.aiwg/research/`:
113
123
  ├── findings/ # REF-XXX literature notes (one per source)
114
124
  ├── citations/ # Citation sidecars (REF-XXX-citations.md)
115
125
  ├── sources/ # Acquired papers (PDFs, metadata)
126
+ ├── media/ # Time-based media archive policy records
127
+ │ ├── video/ # `media/video/` copied or LFS-managed video when permitted
128
+ │ ├── audio/ # `media/audio/` copied or LFS-managed audio when permitted
129
+ │ └── transcripts/ # `media/transcripts/` timestamped transcript sidecars
116
130
  ├── profiles/ # Entity profiles
117
131
  │ ├── people/ # PROF-P-* author/researcher profiles
118
132
  │ ├── orgs/ # PROF-O-* organizations
@@ -123,10 +137,24 @@ Research artifacts go under `.aiwg/research/`:
123
137
 
124
138
  ## ID conventions
125
139
 
126
- - `REF-NNN` — research papers (citation-network nodes)
140
+ - `REF-NNN` — research papers or media sources (citation-network nodes)
127
141
  - `PROF-[POFG]-<slug>` — entity profiles (people / orgs / funders / groups)
142
+ - `PROF-S-<slug>` — source/curator profiles for feeds, channels, or accounts
128
143
  - Both ID spaces are first-class in `aiwg index neighbors` traversal.
129
144
 
145
+ ## Timestamp citations
146
+
147
+ For media REFs, cite transcript-verified moments instead of page numbers:
148
+
149
+ ```text
150
+ @.aiwg/research/findings/REF-XXX.md @ HH:MM:SS - "exact transcript quote"
151
+ ```
152
+
153
+ The timestamp must exist in the transcript sidecar, and the quote must match the
154
+ transcript exactly. Use `induct-media` for media-curator acquisition handoff and
155
+ record whether the source media is copied, stored through LFS/object storage, or
156
+ tracked as a hash-only record.
157
+
130
158
  ## GRADE methodology
131
159
 
132
160
  Quality grading is opinionated and built-in. When inducting:
@@ -2,7 +2,7 @@
2
2
  namespace: aiwg
3
3
  platforms: [all]
4
4
  name: source-types
5
- description: The canonical, extensible source-type registry for a research corpus — paper, preprint, blog, repo, book, chapter, standard, doc, discussion, encyclopedia, expert-material, internal-review. Replaces the drifting type / source_type / "Source Type" vocabularies with one registry that declares per-type template, required sections, citation format, acquisition method, storage, quality rules, and radar cadence. Surfaced via `aiwg corpus source-types`; consumed by the by-source-type index view, per-type induction audit, and acquisition dispatch.
5
+ description: The canonical, extensible source-type registry for a research corpus — paper, preprint, blog, repo, book, chapter, standard, doc, discussion, encyclopedia, expert-material, video, audio, podcast, lecture, internal-review. Replaces the drifting type / source_type / "Source Type" vocabularies with one registry that declares per-type template, required sections, citation format, acquisition method, storage, quality rules, and radar cadence. Surfaced via `aiwg corpus source-types`; consumed by the by-source-type index view, per-type induction audit, and acquisition dispatch.
6
6
  commandHint:
7
7
  argumentHint: "source-types [--json]"
8
8
  allowedTools: Read, Bash, Write
@@ -53,8 +53,10 @@ Per canonical type: `template`, `required-sections`, `citation-format`,
53
53
  | blog | reference-web | url-venue-retrieved | web-snapshot | sources/web | biannual |
54
54
  | repo | reference-repo | repo-url-commit | git-clone | sources/repos | on-demand |
55
55
  | standard | reference-web | standard-id | web-snapshot | sources/web | annual |
56
+ | video | reference-media | timestamp-transcript | media-curator | media/video | on-demand |
57
+ | podcast | reference-media | timestamp-transcript | media-curator | media/audio | on-demand |
56
58
 
57
- (12 canonical types ship by default; `aiwg corpus source-types` lists them all.)
59
+ (16 canonical types ship by default; `aiwg corpus source-types` lists them all.)
58
60
 
59
61
  ## Adding a new source type is config, not code
60
62
 
@@ -68,12 +70,12 @@ types:
68
70
  podcast:
69
71
  description: Podcast episode.
70
72
  aliases: [podcast, episode]
71
- template: reference-web
72
- required_sections: [Summary, Key Claim]
73
- citation_format: url-venue-retrieved
74
- acquisition: web-snapshot
75
- storage: sources/audio
76
- quality_rules: anecdotal-hedging
73
+ template: reference-media
74
+ required_sections: [Citation, Media Profile, Summary, Key Timestamps]
75
+ citation_format: timestamp-transcript
76
+ acquisition: media-curator
77
+ storage: media/audio
78
+ quality_rules: interview-hedged-grade
77
79
  default_radar_cadence: on-demand
78
80
  venue_fallback: { … }
79
81
  meta_roles: [redirect, stub, gap-note]
@@ -60,6 +60,25 @@ Incoming rules:
60
60
  | — | (none recorded yet; preprint posted YYYY-MM-DD) | — | — | — | — |
61
61
  -->
62
62
 
63
+ ## Outgoing: Spoken References and Informal Mentions
64
+
65
+ | # | Reference / mention text | Timestamp | Quote | Type | Inducted REF |
66
+ |---|--------------------------|-----------|-------|------|--------------|
67
+ | 1 | "{verbal reference as spoken}" | HH:MM:SS | "{exact transcript quote}" | informal | REF-YYY |
68
+ | 2 | "{paper, project, person, or idea named verbally}" | HH:MM:SS | "{exact transcript quote}" | formal-citation | — |
69
+
70
+ <!--
71
+ Time-based media rules:
72
+ - Use this table for talks, podcasts, interviews, lectures, and videos where a
73
+ speaker references work verbally instead of through a formal reference list.
74
+ - Timestamp MUST point into the transcript sidecar.
75
+ - Quote MUST match the transcript exactly.
76
+ - Type values: formal-citation, informal, project, person, venue, unclear.
77
+ - "Inducted REF" links to a corpus REF when the mentioned work is already in
78
+ the corpus; use "—" when the mention is unresolved or not yet inducted.
79
+ - Do not force DOI/paper metadata for informal spoken references.
80
+ -->
81
+
63
82
  ## Notes
64
83
 
65
84
  {Optional free-form notes about the citation network. Common patterns:
@@ -78,4 +97,6 @@ Format conventions:
78
97
  documentation/radar/REF-XXX-radar.md (radar sidecar) — all three share the REF id.
79
98
  - The 6-column table (`# | Title | Authors | Year | DOI/URL | Inducted REF`) is canonical.
80
99
  - Bidirectional consistency is enforced by the corpus audit (research-lint).
100
+ - The spoken-reference table is additive for time-based media and does not
101
+ change existing paper citation sidecars.
81
102
  -->
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  prof-id: PROF-{TYPE}-{slug}
3
3
  name: ""
4
- type: person # person | org | funder | group | source
4
+ type: person # person | org | funder | group | source | channel | feed | venue
5
5
  # NOTE: for type: source (discovery curators, PROF-S-), use the dedicated
6
6
  # source-profile template — see SOURCE-TRACKING / the discovery subsystem (#1499).
7
7
  affiliation: "" # current primary affiliation (PROF-O- slug or free text)
8
8
  aliases: [] # name variants: ["A. Smith", "Smith, Andrew"]
9
9
  corpus-refs: [] # list of REF-XXX identifiers where this entity appears
10
10
  roles: # entity's role in each corpus REF
11
- REF-XXX: primary-author # primary-author | co-author | org | funder | mentioned
11
+ REF-XXX: primary-author # primary-author | co-author | speaker | host | channel | venue | org | funder | mentioned
12
12
  affiliations: [] # temporal affiliations (person type)
13
13
  # - org: PROF-O-slug
14
14
  # start: YYYY
@@ -25,7 +25,7 @@ sources-searched: [] # semantic-scholar | google-scholar | orcid | arxiv
25
25
 
26
26
  # {Name} — Entity Profile
27
27
 
28
- **Type**: {Person | Organization | Funder | Group}
28
+ **Type**: {Person | Organization | Funder | Group | Channel | Feed | Venue}
29
29
  **Profile ID**: `{prof-id}`
30
30
  **Last refreshed**: {YYYY-MM-DD}
31
31
  **Next refresh due**: {YYYY-MM-DD}
@@ -34,7 +34,7 @@ sources-searched: [] # semantic-scholar | google-scholar | orcid | arxiv
34
34
 
35
35
  ## 1. Entity Summary
36
36
 
37
- {One paragraph: who/what this entity is, primary affiliation, research identity. For people: career phase, core expertise, institutional context. For orgs: founding context, research mission, scale. For funders: scope, primary areas funded.}
37
+ {One paragraph: who/what this entity is, primary affiliation, research identity. For people: career phase, core expertise, institutional context. For speakers in time-based media, record the verified speaker role and do not infer authorship. For orgs/channels/feeds/venues: publishing identity, host organization, research mission, scale. For funders: scope, primary areas funded.}
38
38
 
39
39
  **Research Identity**: {One sentence core descriptor.}
40
40
  **Affiliation**: {Current primary org, with link to PROF-O- profile if exists.}
@@ -47,11 +47,18 @@ sources-searched: [] # semantic-scholar | google-scholar | orcid | arxiv
47
47
  | REF | Title | Role | Year | GRADE |
48
48
  |---|---|---|---|---|
49
49
  | [REF-XXX](../references/REF-XXX-*.md) | {Short title} | primary-author | YYYY | A |
50
+ | [REF-YYY](../references/REF-YYY-*.md) | {Media title} | speaker | YYYY | B+ |
50
51
 
51
52
  **Total corpus appearances**: N
52
53
  **Date range**: YYYY – YYYY
53
54
  **Most recent**: REF-XXX ({Year})
54
55
 
56
+ For time-based media:
57
+ - Speakers reuse `PROF-P-<slug>` with role `speaker`, `host`, `interviewer`, or `panelist`.
58
+ - Channels, podcast feeds, conference series, courses, and recording venues may
59
+ use `PROF-O-<slug>` when they are stable organizations or venues.
60
+ - Discovery feeds/accounts use the dedicated `PROF-S-<slug>` source profile.
61
+
55
62
  ---
56
63
 
57
64
  ## 3. Research Focus Profile
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "framework": "research-complete",
3
3
  "version": "1.0.0",
4
- "template_count": 14,
4
+ "template_count": 15,
5
5
  "last_updated": "2026-05-27",
6
6
  "templates": [
7
7
  {
@@ -136,6 +136,17 @@
136
136
  "progressive_disclosure": false,
137
137
  "reasoning_required": true
138
138
  },
139
+ {
140
+ "template_id": "reference-media",
141
+ "filename": "reference-media.md",
142
+ "type": "document",
143
+ "format": "markdown",
144
+ "description": "Time-based media reference/analysis doc for videos, lectures, podcasts, talks, and interviews with timestamp citations",
145
+ "use_case": "Induct media-curator acquisitions and transcript sidecars into a research corpus without paper-only fields",
146
+ "primary_agent": "Documentation Agent",
147
+ "progressive_disclosure": false,
148
+ "reasoning_required": true
149
+ },
139
150
  {
140
151
  "template_id": "citation-sidecar",
141
152
  "filename": "citation-sidecar.md",
@@ -165,7 +176,7 @@
165
176
  "metadata": ["provenance-record", "acquisition-report"],
166
177
  "radar": ["radar-sidecar"],
167
178
  "profiles": ["entity-profile"],
168
- "induction": ["reference-canonical", "reference-expanded", "citation-sidecar"],
179
+ "induction": ["reference-canonical", "reference-expanded", "reference-media", "citation-sidecar"],
169
180
  "discovery": ["source-profile"]
170
181
  },
171
182
  "usage_sequence": [
@@ -0,0 +1,151 @@
1
+ ---
2
+ ref_id: REF-XXX
3
+ title: "Short descriptive title of media source"
4
+ source_type: video # video | audio | podcast | lecture | interview | talk
5
+ source_url: "https://example.invalid/watch?v=..."
6
+ platform: "YouTube" # YouTube | Internet Archive | podcast feed | direct hosting | other
7
+ duration: "HH:MM:SS"
8
+ published: YYYY-MM-DD # upload, publication, or recording date when known
9
+ speakers:
10
+ - name: "Lastname, First"
11
+ prof-id: PROF-P-slug # omit when unresolved
12
+ channel_or_venue:
13
+ name: "Channel, podcast feed, conference, course, or venue"
14
+ prof-id: PROF-O-slug # PROF-O for org/venue/channel when known; free text otherwise
15
+ transcript_path: "media/transcripts/REF-XXX-title.transcript.json"
16
+ transcript_hash: "sha256:<hex>"
17
+ media_storage:
18
+ policy: hash-only # copied | lfs | object-storage | hash-only
19
+ path: "media/video/REF-XXX-title.mp4"
20
+ sha256: "sha256:<hex>"
21
+ license: "platform ToS only | CC-BY | public domain | permission recorded | unknown"
22
+ ---
23
+
24
+ # REF-XXX: {Media Title}
25
+
26
+ <!--
27
+ Time-based media reference template for videos, lectures, podcasts, talks, and
28
+ interviews. Use this when the source is consumed through a recording plus a
29
+ timestamped transcript, not a PDF. The paper templates remain unchanged.
30
+ -->
31
+
32
+ ## 1. Citation
33
+
34
+ {Speaker or channel} ({published year}). *{Title}* [{source_type}; {duration}]. {Platform or venue}. {source_url}
35
+
36
+ Timestamp citations use:
37
+
38
+ `@.aiwg/research/findings/REF-XXX.md @ HH:MM:SS - "exact transcript quote"`
39
+
40
+ ## 2. Media Profile
41
+
42
+ - **Source type**: {video | audio | podcast | lecture | interview | talk}
43
+ - **Platform**: {platform}
44
+ - **Channel / venue**: {name and PROF-O/PROF-S when known}
45
+ - **Speakers**: {speaker list and PROF-P IDs when known}
46
+ - **Duration**: {HH:MM:SS}
47
+ - **Publication / recording date**: {date or unknown}
48
+ - **License posture**: {explicit license, platform ToS only, permission recorded, unknown}
49
+
50
+ ## 3. Referenced By
51
+
52
+ (To be populated as downstream documents cite this media source.)
53
+
54
+ ### 3b. Profiles
55
+
56
+ - Speakers reuse `PROF-P-<slug>` with role `speaker`.
57
+ - Channels, podcast feeds, conference series, courses, and recording venues use
58
+ `PROF-O-<slug>` when they are organizations/venues or `PROF-S-<slug>` when
59
+ they are discovery sources/feeds.
60
+
61
+ ## 4. Executive Summary
62
+
63
+ {2-4 paragraphs. State the recording's thesis, important claims, and why it
64
+ matters for this corpus. Distinguish what is said in the recording from later
65
+ interpretation.}
66
+
67
+ ## 5. Summary
68
+
69
+ {Longer narrative summary grounded in the transcript. Use timestamp anchors for
70
+ major sections:
71
+
72
+ ### [00:00:00] Opening / setup
73
+ ### [00:12:34] Main argument
74
+ ### [00:42:10] Questions / discussion
75
+ }
76
+
77
+ ## 6. Key Findings
78
+
79
+ 1. **{Finding header}** - {specific claim with timestamp anchor}.
80
+ 2. ...
81
+
82
+ ## 7. Context / Format
83
+
84
+ {Describe whether this is a peer-reviewed venue talk, institutional lecture,
85
+ course recording, podcast interview, panel, livestream, or informal upload.
86
+ Record production context and moderation/interview format where relevant.}
87
+
88
+ ## 8. Evidence and Transcript Method
89
+
90
+ - **Transcript path**: `{transcript_path}`
91
+ - **Transcript hash**: `{transcript_hash}`
92
+ - **Source media hash**: `{media_storage.sha256}`
93
+ - **Transcript origin**: {machine transcription tool, human transcript, platform captions}
94
+ - **Speaker labeling**: {verified names, diarization labels, or single-speaker fallback}
95
+ - **Known limitations**: {machine transcript errors, missing captions, uncertain speaker IDs}
96
+
97
+ ## 9. Key Timestamps
98
+
99
+ | Timestamp | Speaker | Exact transcript quote | Why it matters |
100
+ |---|---|---|---|
101
+ | 00:00:00 | SPEAKER_00 | "{exact quote}" | {claim or context} |
102
+
103
+ Quotes MUST match the transcript text exactly. Do not quote from machine
104
+ transcripts in high-stakes or published claims until human verification has
105
+ checked the segment.
106
+
107
+ ## 10. Cross-References
108
+
109
+ In-corpus connections:
110
+ - **REF-YYY** ({short title}) - {how this recording cites, discusses, extends, or contradicts it}
111
+
112
+ Citation network: [REF-XXX-citations.md](../citations/REF-XXX-citations.md)
113
+
114
+ ## 11. External References
115
+
116
+ - Source page: {source_url}
117
+ - Local media: `{media_storage.path}` or hash-only record
118
+ - Transcript: `{transcript_path}`
119
+ - Channel / venue page: {URL if available}
120
+
121
+ ## 12. Citation Record
122
+
123
+ Use BibTeX only when there is a stable scholarly record. Otherwise record a
124
+ plain source citation:
125
+
126
+ ```text
127
+ {Speaker}. "{Title}." {Platform or venue}, {published}, {source_url}. Accessed YYYY-MM-DD.
128
+ ```
129
+
130
+ ## 13. Revision History
131
+
132
+ - YYYY-MM-DD - Initial media induction ({agent / human identifier}).
133
+
134
+ ## 14. Document Classification
135
+
136
+ - **Tier**: {Time-based media | Lecture | Podcast | Interview | Conference talk}
137
+ - **Quality**: {A / A- / B / C / D - rationale using media GRADE guidance}
138
+ - **Relevance**: {VERY HIGH / HIGH / MEDIUM / LOW - for this corpus's themes}
139
+
140
+ GRADE guidance:
141
+ - Peer-reviewed or official conference recording with traceable venue: A- when
142
+ the content is substantive and source integrity is verified.
143
+ - Credible institutional lecture or course recording: B+ by default.
144
+ - Podcast or informal interview with identifiable experts: B by default.
145
+ - Unvetted platform upload, unclear speaker identity, or no transcript
146
+ verification: C until corroborated.
147
+
148
+ ## 15. Implementation Relevance
149
+
150
+ {How this media source informs downstream design, research direction, teaching,
151
+ or corpus synthesis. If none, record cross-corpus relevance instead.}
@@ -6,10 +6,11 @@ The research corpus uses two complementary reference-doc templates:
6
6
  |----------|---------:|---------|
7
7
  | [`reference-canonical.md`](reference-canonical.md) | **15** | Most papers. Default choice. |
8
8
  | [`reference-expanded.md`](reference-expanded.md) | **21** | Foundational / peer-reviewed papers warranting deep analysis. |
9
+ | [`reference-media.md`](reference-media.md) | **15** | Videos, lectures, podcasts, talks, and interviews with timestamped transcripts. |
9
10
 
10
11
  Both produce ref docs with YAML frontmatter (`ref_id`, `title`, `authors`, `year`, `source_type`, `venue`, `url`, `pdf_hash`), numbered section headings, and the same conventions for citation-network linking, BibTeX, revision history, and document classification. The **difference is depth** — the expanded template adds 6 sections.
11
12
 
12
- The matching citation sidecar uses [`citation-sidecar.md`](citation-sidecar.md); the freshness sidecar uses [`radar-sidecar.md`](radar-sidecar.md); entity profiles use [`entity-profile.md`](entity-profile.md).
13
+ The matching citation sidecar uses [`citation-sidecar.md`](citation-sidecar.md); time-based media uses the same sidecar plus its spoken-reference table. The freshness sidecar uses [`radar-sidecar.md`](radar-sidecar.md); entity profiles use [`entity-profile.md`](entity-profile.md).
13
14
 
14
15
  ## Choosing between reference templates
15
16
 
@@ -32,6 +33,17 @@ This is the default (the large majority of ref docs).
32
33
 
33
34
  **When in doubt: start canonical, promote later.** A canonical doc can be promoted by inserting the expanded-only sections at their canonical positions, renumbering subsequent sections, and adding a revision-history entry. Keep the original content; new sections are additive.
34
35
 
36
+ **Use media when:**
37
+ - the source is a recording rather than a PDF or web article
38
+ - timestamp anchors are needed instead of page numbers
39
+ - the evidence path includes a transcript hash and source media hash
40
+ - the source records speakers, channel/feed/venue, and license posture
41
+
42
+ Do not shoehorn a podcast or lecture into the paper template just to satisfy
43
+ DOI, page-count, or BibTeX fields. If a conference talk also has a companion
44
+ paper, induct the paper with the paper template and the recording with the
45
+ media template, then cross-reference the two REFs.
46
+
35
47
  ## Section mapping: canonical ↔ expanded
36
48
 
37
49
  | Canonical | Expanded | Notes |
@@ -67,11 +79,14 @@ This is the default (the large majority of ref docs).
67
79
  | `title` | yes | string | Full paper title, no leading `REF-XXX:` prefix |
68
80
  | `authors` | yes (where extractable) | list of strings | `"Lastname, F."` form |
69
81
  | `year` | yes (where known) | int | Publication year, not citation count |
70
- | `source_type` | yes | enum | `preprint`, `peer_reviewed_conference`, `peer_reviewed_journal`, `technical_report`, `survey`, `codebase`, `research_gap` |
82
+ | `source_type` | yes | enum | Paper templates: `preprint`, `peer_reviewed_conference`, `peer_reviewed_journal`, `technical_report`, `survey`, `codebase`, `research_gap`; media template: `video`, `audio`, `podcast`, `lecture`, `interview`, `talk` |
71
83
  | `venue` | recommended | string | arXiv ID, conference, journal, or org blog |
72
84
  | `url` | recommended | string | Canonical landing URL |
73
85
  | `pdf_hash` | yes when PDF exists | string | SHA-256 of the PDF — the load-bearing integrity check |
74
86
  | `affiliation-primary` | optional | string or PROF-O ID | Primary author's institution |
75
87
  | `status` | optional | enum | `placeholder`, `pending-acquisition`, `acquisition-deficit` for partial inductions |
88
+ | `transcript_path` | media | string | Path to timestamped transcript sidecar |
89
+ | `transcript_hash` | media | string | SHA-256 of canonical transcript payload |
90
+ | `media_storage.policy` | media | enum | `copied`, `lfs`, `object-storage`, or `hash-only` |
76
91
 
77
92
  > The GRADE quality letter is recorded in the Document Classification section as `**Quality**: A / A- / B / C / D` (the radar subsystem's GRADE extraction reads this form).
@@ -101,6 +101,19 @@ pair programming (@.aiwg/research/sources/williams-2000-pair.pdf, pp. 6-7),
101
101
  though the magnitude varies by context.
102
102
  ```
103
103
 
104
+ For time-based media, use transcript timestamp anchors instead of page numbers:
105
+
106
+ ```markdown
107
+ The speaker states: "Exact transcript quote"
108
+ (@.aiwg/research/findings/REF-123.md @ 00:12:34).
109
+ ```
110
+
111
+ Timestamp citations are valid only when:
112
+ - the cited REF has a transcript sidecar recorded in the corpus,
113
+ - the timestamp exists in that transcript,
114
+ - the quoted words match the transcript exactly, and
115
+ - the citation uses the corpus REF/finding path rather than a bare platform URL.
116
+
104
117
  ### Rule 5: Always Verify Source Exists Before Citing
105
118
 
106
119
  **FORBIDDEN**:
@@ -236,6 +249,23 @@ GRADE: VERY LOW - Anecdotal evidence only
236
249
  Note: Formal literature review planned - see @.aiwg/research/TODO.md
237
250
  ```
238
251
 
252
+ ### Time-Based Media GRADE Guidance
253
+
254
+ Use the same hedging discipline for videos, lectures, podcasts, interviews, and
255
+ talks, but grade the source context and transcript integrity explicitly:
256
+
257
+ | Media source | Default GRADE | Citation requirement |
258
+ |--------------|---------------|----------------------|
259
+ | Peer-reviewed or official conference recording with verified venue and transcript | A- | REF path + timestamp + exact transcript quote |
260
+ | Institutional lecture, course recording, or official seminar with identifiable speaker | B+ | REF path + timestamp + exact transcript quote |
261
+ | Podcast or informal interview with identifiable expert(s) | B | REF path + timestamp + exact transcript quote; hedge interview claims |
262
+ | Platform upload with unclear speaker, unclear provenance, or unverified transcript | C or lower | Use only with explicit limitations or corroboration |
263
+
264
+ Do not promote a media source to paper-like authority because the speaker is
265
+ credible. Record the format limitations: moderation, informal remarks,
266
+ transcription quality, missing citations, and whether spoken references are
267
+ formal citations or informal mentions.
268
+
239
269
  ## Agent Definition Requirements
240
270
 
241
271
  When creating agent definitions that generate documentation:
@@ -248,7 +278,7 @@ When creating agent definitions that generate documentation:
248
278
 
249
279
  Before citing any source:
250
280
  1. Verify file exists in @.aiwg/research/sources/
251
- 2. Extract exact quote with page/section number
281
+ 2. Extract exact quote with page/section number, or timestamp for media
252
282
  3. Assess GRADE quality level
253
283
  4. Use appropriate hedging language
254
284
  5. Include full citation with @-mention
@@ -382,7 +412,10 @@ Before completing any content generation that includes citations:
382
412
 
383
413
  - [ ] All citations reference files in `.aiwg/research/sources/`
384
414
  - [ ] All cited files verified to exist using file system check
385
- - [ ] All quotes are exact with page/section numbers included
415
+ - [ ] All quotes are exact with page/section numbers included, or timestamp
416
+ anchors for media transcript citations
417
+ - [ ] Media timestamp citations point to an existing transcript segment and the
418
+ quoted words match that segment exactly
386
419
  - [ ] GRADE quality level assessed and documented for each citation
387
420
  - [ ] Claim language matches evidence quality (no overclaiming)
388
421
  - [ ] Uncertainty explicitly marked for LOW/VERY LOW quality sources
@@ -18,6 +18,7 @@ Alternate expressions and non-obvious activations (primary phrases are matched a
18
18
  - "fabricated citations" / "hallucinated references" → citation authenticity check
19
19
  - "DOI check" → citation DOI validation
20
20
  - "verify sources" in research context → citation verification
21
+ - "timestamp citation" / "transcript quote" → media timestamp citation check
21
22
 
22
23
  ## Purpose
23
24
 
@@ -34,6 +35,8 @@ When triggered, this skill:
34
35
  2. **Verify against corpus**:
35
36
  - Check each reference exists in `.aiwg/research/sources/` or `.aiwg/research/findings/`
36
37
  - Validate REF-XXX identifiers match frontmatter
38
+ - For media timestamp citations, verify the REF records a transcript sidecar,
39
+ the timestamp exists in `segments[]`, and the quoted words match the transcript text exactly
37
40
  - Flag any references not in corpus
38
41
 
39
42
  3. **Check GRADE compliance**:
@@ -65,6 +68,7 @@ activation:
65
68
  triggers_on_content:
66
69
  - pattern: "REF-\\d{3}"
67
70
  - pattern: "@\\.aiwg/research/"
71
+ - pattern: "@\\.aiwg/research/.*@\\s*\\d{1,2}:\\d{2}(?::\\d{2})?"
68
72
  - pattern: "according to"
69
73
  - pattern: "research (shows|demonstrates|suggests|indicates)"
70
74
  - pattern: "\\(\\w+ et al\\., \\d{4}\\)"
@@ -1 +1 @@
1
- {"version":3,"file":"source-types.d.ts","sourceRoot":"","sources":["../../../../src/artifacts/corpus-tools/source-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAID,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,kBAuClC,CAAC;AA2BF,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAW7E;AAYD,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAE,kBAAyC,GAAG,MAAM,CAYjH;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAyC,GAAG,UAAU,GAAG,IAAI,CAElH;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,GAAE,kBAAyC,GAAG,MAAM,EAAE,CAExF;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAYjE"}
1
+ {"version":3,"file":"source-types.d.ts","sourceRoot":"","sources":["../../../../src/artifacts/corpus-tools/source-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAClC,gGAAgG;IAChG,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,wEAAwE;IACxE,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAID,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,EAAE,kBA2ClC,CAAC;AA2BF,iGAAiG;AACjG,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAW7E;AAYD,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAE,kBAAyC,GAAG,MAAM,CAYjH;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAE,kBAAyC,GAAG,UAAU,GAAG,IAAI,CAElH;AAED,uCAAuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,GAAE,kBAAyC,GAAG,MAAM,EAAE,CAExF;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAYjE"}
@@ -60,7 +60,11 @@ export const DEFAULT_SOURCE_TYPES = {
60
60
  doc: { description: 'Maintainer/vendor documentation, technical report, or report.', aliases: ['doc', 'documentation', 'maintainer-doc', 'vendor-doc', 'technical-report', 'technical report', 'report', 'manual'], template: 'reference-web', requiredSections: ['Citation', 'Summary', 'Practical Relevance'], citationFormat: 'url-venue-retrieved', acquisition: 'web-snapshot', storage: 'sources/web', qualityRules: 'non-peer-reviewed-hedging', defaultRadarCadence: 'biannual' },
61
61
  discussion: { description: 'Issue, forum thread, or discussion.', aliases: ['discussion', 'issue', 'thread', 'forum'], template: 'reference-web', requiredSections: ['Citation', 'Summary', 'Key Points'], citationFormat: 'url-venue-retrieved', acquisition: 'web-snapshot', storage: 'sources/web', qualityRules: 'anecdotal-hedging', defaultRadarCadence: 'on-demand' },
62
62
  encyclopedia: { description: 'Encyclopedia / reference-work entry (e.g. Wikipedia).', aliases: ['encyclopedia', 'wikipedia', 'wiki'], template: 'reference-web', requiredSections: ['Citation', 'Summary'], citationFormat: 'url-venue-retrieved', acquisition: 'web-snapshot', storage: 'sources/web', qualityRules: 'tertiary-source-hedging', defaultRadarCadence: 'annual' },
63
- 'expert-material': { description: 'Expert commentary, talk, or interview material.', aliases: ['expert-material', 'expert material', 'talk', 'interview', 'keynote'], template: 'reference-web', requiredSections: ['Citation', 'Summary', 'Key Claim'], citationFormat: 'url-venue-retrieved', acquisition: 'manual', storage: 'sources/web', qualityRules: 'expert-opinion-hedging', defaultRadarCadence: 'on-demand' },
63
+ 'expert-material': { description: 'Expert commentary, talk, or interview material.', aliases: ['expert-material', 'expert material', 'talk', 'interview', 'keynote'], template: 'reference-media', requiredSections: ['Citation', 'Media Profile', 'Summary', 'Key Timestamps'], citationFormat: 'timestamp-transcript', acquisition: 'manual', storage: 'media/transcripts', qualityRules: 'expert-opinion-hedging', defaultRadarCadence: 'on-demand' },
64
+ video: { description: 'Video, conference recording, course recording, or platform-hosted talk.', aliases: ['video', 'recording', 'webcast', 'livestream', 'stream', 'lecture-video', 'conference-video'], template: 'reference-media', requiredSections: ['Citation', 'Media Profile', 'Summary', 'Key Timestamps', 'Evidence and Transcript Method'], citationFormat: 'timestamp-transcript', acquisition: 'media-curator', storage: 'media/video', qualityRules: 'media-grade', defaultRadarCadence: 'on-demand' },
65
+ audio: { description: 'Audio recording, lecture audio, or direct-hosted audio source.', aliases: ['audio', 'audio-recording', 'lecture-audio', 'recording-audio'], template: 'reference-media', requiredSections: ['Citation', 'Media Profile', 'Summary', 'Key Timestamps', 'Evidence and Transcript Method'], citationFormat: 'timestamp-transcript', acquisition: 'media-curator', storage: 'media/audio', qualityRules: 'media-grade', defaultRadarCadence: 'on-demand' },
66
+ podcast: { description: 'Podcast episode or feed-hosted interview.', aliases: ['podcast', 'podcast-episode', 'episode', 'interview-audio'], template: 'reference-media', requiredSections: ['Citation', 'Media Profile', 'Summary', 'Key Timestamps', 'Evidence and Transcript Method'], citationFormat: 'timestamp-transcript', acquisition: 'media-curator', storage: 'media/audio', qualityRules: 'interview-hedged-grade', defaultRadarCadence: 'on-demand' },
67
+ lecture: { description: 'Institutional lecture, course video, keynote, seminar, or invited talk recording.', aliases: ['lecture', 'course', 'seminar', 'keynote', 'talk', 'invited-talk', 'conference-talk'], template: 'reference-media', requiredSections: ['Citation', 'Media Profile', 'Summary', 'Key Timestamps', 'Evidence and Transcript Method'], citationFormat: 'timestamp-transcript', acquisition: 'media-curator', storage: 'media/video', qualityRules: 'lecture-grade', defaultRadarCadence: 'on-demand' },
64
68
  'internal-review': { description: 'Internal research note or architecture review (not an external source).', aliases: ['internal-review', 'internal-research', 'internal-architecture-review', 'audit'], template: 'reference-internal', requiredSections: ['Summary', 'Findings'], citationFormat: 'internal-ref', acquisition: 'internal', storage: 'documentation/synthesis', qualityRules: 'internal-note', defaultRadarCadence: 'on-demand' },
65
69
  },
66
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"source-types.js","sourceRoot":"","sources":["../../../../src/artifacts/corpus-tools/source-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-types.js","sourceRoot":"","sources":["../../../../src/artifacts/corpus-tools/source-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAuB3C,MAAM,aAAa,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;AAE7D,uFAAuF;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD,OAAO,EAAE,CAAC;IACV,gFAAgF;IAChF,0EAA0E;IAC1E,uEAAuE;IACvE,2CAA2C;IAC3C,aAAa,EAAE;QACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;QAC5E,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QAC1E,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO;QACxE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QACzE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO;QAChE,oBAAoB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QACxE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QAC5E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO;QAChD,KAAK,EAAE,UAAU;QACjB,YAAY,EAAE,UAAU;QACxB,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;QACvD,4BAA4B,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM;QAC9D,oBAAoB,EAAE,MAAM;QAC5B,wBAAwB,EAAE,MAAM;QAChC,oBAAoB,EAAE,MAAM;QAC5B,SAAS,EAAE,cAAc;KAC1B;IACD,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC9D,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,8BAA8B,CAAC,EAAE,cAAc,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC9hB,QAAQ,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC7Z,IAAI,EAAE,EAAE,WAAW,EAAE,uDAAuD,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,UAAU,EAAE;QAC1e,IAAI,EAAE,EAAE,WAAW,EAAE,0CAA0C,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,qBAAqB,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,8BAA8B,EAAE,mBAAmB,EAAE,WAAW,EAAE;QACvd,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC9S,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QACvW,QAAQ,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,QAAQ,EAAE;QACpZ,GAAG,EAAE,EAAE,WAAW,EAAE,+DAA+D,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,qBAAqB,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,UAAU,EAAE;QACzd,UAAU,EAAE,EAAE,WAAW,EAAE,qCAAqC,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC5W,YAAY,EAAE,EAAE,WAAW,EAAE,uDAAuD,EAAE,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,QAAQ,EAAE;QAChX,iBAAiB,EAAE,EAAE,WAAW,EAAE,iDAAiD,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QACxb,KAAK,EAAE,EAAE,WAAW,EAAE,yEAAyE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,gCAAgC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE;QACpf,KAAK,EAAE,EAAE,WAAW,EAAE,gEAAgE,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,gCAAgC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC7c,OAAO,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,gCAAgC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,WAAW,EAAE;QACjc,OAAO,EAAE,EAAE,WAAW,EAAE,mFAAmF,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,gCAAgC,CAAC,EAAE,cAAc,EAAE,sBAAsB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE;QAC1f,iBAAiB,EAAE,EAAE,WAAW,EAAE,yEAAyE,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAE;KACnb;CACF,CAAC;AAEF,iFAAiF;AACjF,SAAS,cAAc,CAAC,GAAQ;IAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,KAAK,GAA+B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAA4B,CAAC,EAAE,CAAC;QACtE,KAAK,CAAC,CAAC,CAAC,GAAG;YACT,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,gBAAgB,EAAE,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC/E,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;YACnE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;YAChC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;YAC7D,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,qBAAqB,IAAI,CAAC,CAAC,mBAAmB,IAAI,WAAW,CAAC;SAC7F,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACjC,KAAK;QACL,aAAa,EAAE,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE,CAA2B;QACxF,SAAS,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,aAAa,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,GAAG,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,4EAA4E;AAC5E,SAAS,WAAW,CAAC,GAAuB;IAC1C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;AAC7E,CAAC;AAaD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAqB,EAAE,MAA0B,oBAAoB;IACvG,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC;SACpE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;SAC1C,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/B,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;IACzC,CAAC;IACD,oEAAoE;IACpE,IAAI,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,MAA0B,oBAAoB;IAC7F,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AACtC,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,eAAe,CAAC,MAA0B,oBAAoB;IAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,kBAAkB,CAAC,CAAC;IACtG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACtH,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjM,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,kCAAkC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiwg",
3
- "version": "2026.6.8",
3
+ "version": "2026.6.9",
4
4
  "description": "Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platforms. Optional utilities for persistent artifact memory, background orchestration, autonomous loops, and artifact indexing.",
5
5
  "type": "module",
6
6
  "bin": {