Rebuild spec — follow docs/planning/specs/rebuild_theme_template_spec.md first.
AG1 — Thin-content enrichmentdocs/design/retired_scripts_patterns.md → AG1~30 deleted scripts instantiated this one pattern (enrich_thin_*,
enrich_under1k_, enrich_top_hypotheses, enrich_hero_hypotheses,
enrich_batch2, enrich_batch3, …). That's the textbook case of "a
recurring process that never got built, respawning as variants". Every
other theme will benefit from this one being the first rebuilt as a
canonical reference.
An open recurring task already exists for this capability
([Exchange] CI: Enrich thin hypotheses — expand next 5 descriptions,
every-2h, 1b911c77-4c4e-4dbe-a320-0cb129f1c38b). That task's previous
implementation referenced scripts/deprecated/enrich_thin_hypotheses_batch2.py
which is now gone. Rebuilding theme AG1 retires that task's
script-dependency.
{{THEME_ID}} = AG1{{THEME_NAME}} = thin-content enrichment{{LAYER}} = Agora{{LAYER_SLUG}} = agora{{THEME_SLUG}} = thin_enrichment{{CADENCE}} = every 1h{{CORE_JUDGMENT}} = "is this record's prose thin/stubby relative{{GAP_PREDICATE}} = rows wherelength(prose_column) < dynamic_threshold ORprose_version < current_rubric_version — with dynamic_thresholdtheme_config, not hardcoded.The rebuilt process must not be hypothesis-specific. It takes
(table_name, prose_column, priority_column, context_columns[]) as
config and works over:
hypotheses (description)wiki_entities (content)experiments (protocol / description)analyses (summary / findings)gaps (description)theme_config — no code change.Discover the schema at runtime via information_schema.columns rather
than hardcoding "table has column X".
The rubric asks an LLM, given (current prose, structured context,
linked KG neighborhood, citations):
{score, expanded_prose, added_claims, citations_used,Never return text unless grounded in the provided context. If context
is too thin to expand without inventing, return the cannot_expand_reason
and skip the row. (Gap-predicate will re-select after context grows.)
agora_thin_enrichment_outcome_feedback.All template acceptance criteria, plus:
theme_config has rows for each content type with thinness1b911c77-4c4e-4dbe-a320-0cb129f1c38b