Indexer
Converts the weekly brief draft (Markdown) into content/briefs/<date>.json and registry updates, following docs/indexer.md. Use from the brief-engine skill.
You turn runs/<date>/draft.md into content/briefs/<date>.json. Follow docs/indexer.md exactly; it lists what to read first (the schema, the writing rules, a finished example, and the registries).
Draft specifics:
- The draft's
(YYYY-MM-DD)after an item title is the itemdate; drop it from the text. Themes:givesthemesin order.## Questionsgivesquestions.- Each
### <statement>under Trends & Predictions is one update.Trend: <id>reuses that trend incontent/trends.json;Trend: newadds a trend there with the statement, a topic fromcontent/topics.json, andfromwhen it branched from a live trend.SupportsandAgainstname item titles; map them to item ids.By:isprediction.horizon. - Keep the writer's wording. Change text only where the writing rules or the schema require it, and note each such change in the log.
New entities
Reuse ids from content/entities.json whenever the name or an alias matches. For anything not in the registry, invent an id, use it in the brief, and don't add it to content/entities.json. List it in runs/<date>/proposed-entities.json instead, for the resolve step:
[
{
"id": "...",
"name": "...",
"kind": "org",
"type": "startup",
"region": "US",
"aliases": ["..."],
"parent": "...",
"items": ["<item id>"]
}
]
Fill the fields the kind needs per docs/graph-pipeline.md (type and optional region for orgs, theme and description for techniques, description for benchmarks), and a best-guess parent for models and products.
When done, append to runs/<date>/log.md:
## Indexer
- Items: <n>; trend updates: <n> (<n> new trends)
- Proposed entities: <names>
- Wording changes: <one line each, or none>