Weekly Radar Ingestion
Purpose
Ingest one Ray-reviewed AI Signal Radar report into
ai-signal-radar as an approved signal record for future AI agents. Treat the
report as canonical input, not as a draft or news clipping. Preserve Ray's
reasoning and use additive, deterministic updates.
If details are missing, leave structured fields empty or ask for the missing date. Never fabricate dates, themes, signals, action items, or importance.
Repository Contract
Before editing, inspect the target repository from its root:
README.mdschemas/- existing
radars/,data/,themes/, andindexes/ - available scripts under
scripts/ git status --short
Prefer existing repository scripts and schemas when they exist. If a schema is stricter than the recommended metadata below, conform to the checked-in schema unless the user explicitly asks to update the repository schema too.
Read references/repository-contract.md when the repository structure, schema,
or theme file format is unclear.
Workflow
1. Detect Track And Report Date
Select an explicit repository track from the approved report and user intent:
systemsfor AI systems engineering and infrastructure;creationfor AI-native creation, human behavior, and creative forms.
Do not combine tracks. Creation reports also require explicit observation window start and end dates.
Determine one YYYY-MM-DD report date using this order:
- Explicit user instruction.
- Metadata block in the report, such as
date:. - Report title or filename containing an ISO date.
- A clear week-ending date inside the report body.
If no date is reliable, stop and ask for the date. Do not infer a date from the current day unless the user explicitly says the report is for today.
Set week to an ISO week string such as 2026-W25 when useful. Leave it empty
if the repository schema does not support it.
2. Store the Original Report
Write the reviewed Markdown report to:
radars/<track>/YYYY/YYYY-MM-DD.md
Preserve content. Normalize only:
- heading levels and spacing
- Markdown list and code-fence formatting
- links
- frontmatter or metadata block
Do not significantly rewrite the report. Do not summarize sections. Do not remove caveats, reasoning, uncertainty, or Ray-specific judgment.
Use templates/report.md only as a formatting reference; do not force a report
into that structure if it would rewrite content.
3. Generate Metadata
Write structured metadata to:
data/<track>/YYYY/YYYY-MM-DD.json
Recommended agent-friendly fields:
{
"schema_version": "2.0",
"radar_type": "systems or creation",
"date": "",
"week": "",
"title": "",
"status": "reviewed",
"reviewed_by": "Ray",
"themes": [],
"importance": 0,
"top_signals": [],
"action_items": []
}
When the repository already has schemas/radar.schema.json, validate against
that schema and use its field names. In the current ai-signal-radar schema,
store signal objects in signals, recurring creation forms in patterns, ideas
in ideas, and source provenance in source. Creation signals may preserve
domain, creator, evidence level, what was created, what AI changed, human
behavior change, and a transferable idea. Do not add unsupported properties
unless the schema is updated in the same change.
Use templates/metadata.json as the neutral metadata shape for repositories
without a stricter schema.
4. Extract Themes
Extract themes only from explicit report labels, metadata, headings, repeated topic framing, or unambiguous signal content. Use lowercase hyphen slugs.
Known examples:
coding-agentsagent-runtimellm-infrastructureevaluationobservabilitybackend-architectureai-platformsai-securitymlops
If a report has no explicit themes, set themes to [] and continue. If a
report introduces a genuinely new explicit theme, create that theme file rather
than forcing it into an existing bucket.
Maintain one file per theme under:
themes/<track>/<theme>.md
Each theme file should keep these sections:
# <theme>## Summary## Related Reports## Notable Recurring Signals
Use templates/theme.md for new theme files. Prefer additive updates to
existing theme files and keep report links stable.
5. Update Indexes
Update machine-readable indexes after metadata and theme files are written. Prefer the repository's existing index names and scripts. In ai-signal-radar, run:
python scripts/update_indexes.py
If no repository script exists, maintain:
indexes/reports.jsonindexes/themes.json
Indexes should optimize future agent retrieval with dates, titles, themes, Markdown paths, data paths, and compact signal references.
6. Validate Consistency
Verify:
- report file exists
- metadata file exists
- metadata date, status, reviewer, paths, and themes are coherent
- creation metadata contains a valid observation window
- every theme reference points to an existing report
- indexes include the ingested report and reference valid files
Use repository validation first when available, for example:
uv run pytest
Then run the bundled consistency helper:
python .codex/skills/weekly-radar-ingestion/scripts/validate_ingestion.py \
--repo . --track <track> --date YYYY-MM-DD
Fix validation failures before committing.
7. Commit
Generate a concise commit message after validation, such as:
ingest radar YYYY-MM-DD
or:
update themes from radar YYYY-MM-DD
Commit only the ingestion-related files. Push only when the repository has an ordinary configured remote/upstream and push is allowed by the user's request or repository workflow. Never force-push.
Rules
- Treat the report as approved.
- Preserve Ray's reasoning.
- Do not summarize unless a structured field requires extraction.
- Do not delete information.
- Prefer additive changes.
- Maintain deterministic paths and JSON ordering.
- Optimize for future AI-agent retrieval.
- Favor machine-readable metadata over prose.
- Never fabricate themes, dates, signals, action items, or importance.
- Leave missing fields empty rather than guessing.
Portability Notes
- Specific to the author's current workflow: this assumes Ray-reviewed systems
and creation radar reports and an
ai-signal-radarrepository with explicit tracks underradars/,data/, andthemes/. - Reusable: approved-report preservation, explicit track selection, deterministic track/date paths, schema-first metadata extraction, additive theme/index updates, and validation-before-commit discipline.
- Adapt before reuse: replace reviewer naming, track taxonomy, observation window requirements, repository layout, schema fields, validation commands, commit policy, and theme taxonomy with the target repository's checked-in contract.
Bundled Resources
templates/report.md: optional Markdown shape for normalized reports.templates/metadata.json: neutral metadata template.templates/theme.md: new theme file template.templates/reports-index.json: fallback reports index shape.templates/themes-index.json: fallback themes index shape.examples/: sample reviewed reports for normal ingestion, missing themes, and a new theme.scripts/validate_ingestion.py: repository consistency checker.