Spec17 Curriculum Blueprint
spec17 is planned as the bounded intent bridge after the frozen spec16 shared-bundle winner.
It is not another narrow raw repair rung. The goal is to move from explicit layout/style prompts to bounded
[topic] + [goal] + [audience] planning while keeping the output contract the same:
one clean shared [bundle], deterministic lowerers, deterministic compiler, and external content.json.
spec02 through spec16 shows a stable pattern.
Better contracts and better full curricula create the real progress. Post-hoc raw repair rungs, especially warning-language
fixes around wrappers and stop markers, regress more often than they help once a strong winner already exists.
Hard Boundary
Prompt Contract
Primary prompt:
[task:svg] [topic:<topic_id>] [goal:<goal_id>] [audience:<audience_id>] [OUT]
Controlled hints may add [emphasis], [constraint], or [content_pack].
Do not give the model explicit layout, form, theme, tone, density, background, or topology counts.
Output Contract
Emit exactly one shared [bundle] only.
Do not emit raw SVG, free-written prose, topic ids, asset ids, or family-specific lowerer syntax.
Visible facts, copy, and numbers remain in external content.json.
Repair Boundary
Allowed deterministic repair is narrow:
- truncate at the first valid
[/bundle] - strip copied prompt/control tags outside the bundle
- dedupe singleton tags when
familyandformalready match - fill missing prompt-controlled fields only when
familyandformalready match
Repair must never invent a new family, form, or style bundle.
Founding Families
| Family | Forms | Topology fields | Intent profiles |
|---|---|---|---|
memory_map |
typed_regions, arena_sections, layer_stack |
segments, brackets, cards |
memory_layout_map, allocator_regions, arena_guard_flow |
timeline |
milestone_chain, stage_sequence |
stages, arrows, footer |
ir_evolution_timeline, why_pipeline_timeline, operator_changeover_timeline |
system_diagram |
linear_pipeline, build_path, selection_path |
stages, links, terminal, footer |
pipeline_overview_flow, build_pipeline_flow, registry_selection_flow |
Stage Mix
The curriculum is designed to teach the predictable failure frontiers from the beginning rather than patching them later. All rows must stay compiler-valid and bundle-canonical. No warning-language repair rows are allowed.
Stage A
| Surface | Weight | Teaching purpose |
|---|---|---|
explicit_bundle_anchor |
35% |
Preserve the frozen spec16 bundle grammar and anchor non-regression. |
clean_stop_anchor |
10% |
Teach one clean bundle and stop without introducing wrapper-warning prose. |
intent_family_bridge |
20% |
Teach topic + goal + audience to family/form routing. |
form_disambiguation_contrast |
10% |
Separate sibling forms before the line defaults to one favorite form. |
style_bundle_inference |
10% |
Teach theme/tone/density/background inference from audience and emphasis. |
topology_budget_bridge |
10% |
Teach topology and density changes from compact/balanced/dense constraints. |
family_confusion_contrast |
5% |
Keep the three-family boundary visible from the first stage. |
Stage B
| Surface | Weight | Teaching purpose |
|---|---|---|
explicit_bundle_anchor |
20% |
Keep the shared bundle grammar frozen while the prompt contract weakens. |
clean_stop_anchor |
5% |
Preserve decode hygiene with positive clean-stop coverage. |
intent_family_bridge |
20% |
Make bounded intent prompts a first-class path, not a rare ablation. |
topic_goal_recombination |
15% |
Test whether the model recombines seen topics and seen goals instead of memorizing pairs. |
form_disambiguation_contrast |
10% |
Continue pressure on sibling-form choice under weaker prompts. |
style_bundle_inference |
10% |
Keep style inference from collapsing to the dominant bundle. |
topology_budget_bridge |
10% |
Keep count and density planning inside the bounded contract. |
paraphrase_bridge |
5% |
Teach wording robustness without changing the underlying task. |
family_confusion_contrast |
5% |
Block hidden family imbalance before promotion. |
Predicted Failure Frontiers
| Failure frontier | Why it is predictable | How the curriculum teaches it up front |
|---|---|---|
| default family attractor | Shared-family lines often collapse to the most familiar family when the prompt weakens. | intent_family_bridge, topic_goal_recombination, family_confusion_contrast |
| default form attractor | Sibling forms inside one family are easy to blur together under CE pressure. | intent_family_bridge, form_disambiguation_contrast |
| default style attractor | Theme/tone/background often drift to the training-dominant bundle. | style_bundle_inference |
| topology/count drift | Counts often default to familiar values when the prompt only gives high-level intent. | topology_budget_bridge |
| topic leakage into output | Once topic and goal enter the prompt, the model may try to serialize them into the bundle. | explicit_bundle_anchor, clean_stop_anchor |
| paraphrase brittleness | Minor wording shifts can change the chosen bundle if the prompt surface is under-trained. | paraphrase_bridge |
| hidden family imbalance | One family can improve on visible probes while another silently collapses on hidden probes. | family_confusion_contrast, balanced hidden splits |
Holdouts And Promotion
- Visible probes must stay balanced across all three families and cover family routing, form choice, style inference, and topology budgeting.
- Hidden probes must stay balanced across all three families and include paraphrase and topic-goal recombination surfaces.
- Raw exact and repaired exact must always be reported separately.
- No family may regress on hidden probes while another improves.
- If the remaining errors are mostly deterministic near-misses, stay on decode/repair instead of reopening raw repair churn.
Before Training Starts
- Audit the blueprint for form coverage, failure-frontier coverage, and stage-mix integrity.
- Keep the shared
scene_bundle.v1contract frozen fromspec16. - Keep compiler parity, tokenizer coverage, and token-budget checks as hard gates.
- Only materialize
spec17after the blueprint and audit pass. Do not start from another speculative repair rung.
Source of truth in the repo:
version/v7/reports/spec17_curriculum_blueprint.json,
version/v7/scripts/audit_curriculum_blueprint_v7.py,
and the generated audit report under version/v7/reports/.