Task: Sweep docs/skills/recipes for stale legacy-profile-system references

Table of Contents

This page documents a task in the Retire legacy codegen profile system; add junction support to physical-space codegen story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Grep the tree for stale references to the deleted System 1 and correct them. Candidate locations, not exhaustive — search broadly rather than trusting this list alone:

  • doc/knowledge/architecture/*variability*.org (referenced from facet_catalogue.org's own header as "see the ORE Studio Variability Model for the theory") — likely describes the Profile Metamodel in terms of the now-deleted system; needs correcting or re-pointing at the physical-space model instead.
  • doc/llm/skills/code-add-domain-type/SKILL.org — already flagged and partially fixed earlier this sprint for a different stale-JSON-model issue (see commit history around "Fix stale codegen-model instructions in code-add-domain-type"); re-check it doesn't also reference --profile=/=facet_catalogue.org.
  • projects/ores.codegen/docs/codegen_input_org_schema.org — the authoritative schema reference for model files; check its framing of profiles/facets matches the physical-space system only.
  • Any doc/recipes/codegen/*.org recipe mentioning --profile or all-cpp as a profile name (the --address equivalent, e.g. ores.cpp, should be the documented form going forward).
  • projects/ores.compass/src/compass_codegen*.py docstrings/help text.

For each hit: if it's describing behaviour that genuinely still exists (the physical-space system, just described using stale legacy terminology), fix the wording. If it's describing System 1 behaviour that no longer exists at all, remove that section rather than leaving a description of dead functionality.

Status

Field Value
State DONE
Parent story Retire legacy codegen profile system; add junction support to physical-space codegen
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-07-13

Acceptance

  • grep -ri "facet_catalogue\|--profile" doc/ projects/ores.compass projects/ores.codegen/docs (or equivalent) returns no hits describing current behaviour — only, at most, historical mentions in already- closed task/story Notes (which are point-in-time records and are not rewritten, per standing convention).
  • Every corrected doc still reads coherently (not just "delete the sentence and leave a dangling reference").

Plan

(Implementation strategy. Written when work starts; key decisions are distilled into the parent story's * Decisions at close, but the plan itself stays — it is the historical record of what we did.)

Notes

Test Scenarios

Manual QA scenarios (scaffolded via compass add test_scenario, run through the QA Validation Runner panel) that verify this task. Link new ones here as they're created; the scenario doc itself links back via its "Verifies task" field.

Scenario State Notes
     

PRs

PR Title
#1629 [codegen] Remove –profile entirely; –address is the only selector

Review

# Comment summary File Decision Notes
1 Migration-script docstrings still say "the SQL profile"/"service-registry profile" migrate_{junction,lookup_entity,service_registry,table}_to_org.py Accepted Reworded to the actual address (ores.sql.schema, ores.shell.service)
2 "Scaffold profiles" heading not renamed alongside its `#+component_kind:` content projects/modeling/component_architecture.org Accepted Renamed to "Scaffold kinds"
3 Broken cross-file heading link (same-file link syntax used cross-file) projects/modeling/variability_model.org Accepted Caught by CI's `site` build (unresolved link); replaced with plain text
4 Sibling `is_field_group` comment still says "field-group profile"; other three branches already say "address" projects/ores.codegen/src/codegen/core.py:1394 Accepted Reworded to match the other three branches

Result

Swept every non-agile-history doc, skill, recipe, runbook, and template comment referencing the retired facet_catalogue.org=/–profile= system. Along the way this widened into fully completing B11 (see that task): rather than leaving --profile as a deprecated shim to document around, it was removed outright from the codebase, which turned this into a real code change, not just a doc sweep.

Fixed ~35 files: projects/ores.codegen/docs/architecture.org (full rewrite — it referenced the deleted src/generator.py module layout, not just the profile system), all doc/recipes/codegen/*.org, doc/recipes/qt/how_do_i_create_entity_ui.org, doc/recipes/sql/how_do_i_create_entity_schema.org, the codegen-add-*=/=code-add-domain-type skills, the create_a_new_component runbook, doc/llm/claude_code_settings.org (permission allowlist), the projects/modeling/*.org physical-space design docs (applied_masd.org, variability_model.org, per-facet docs), component_overview.org for ores.codegen and the component-scaffold test fixtures, and the *.mustache=/literate template comments (re-tangled and the derived =projects/ores.sql/service_vars.sh regenerated to match).

Also found and removed two pieces of fully dead code discovered along the way: run_generator.sh and generate_workspace_entities.sh both called the long-deleted src/generator.py against a models/ directory that no longer exists in the repo.

doc/knowledge/architecture/entity_mirror_cache_placement.org had a dead link to the deleted facet_catalogue.org; repointed to the live ores.cpp.nats-event-cache facet node.

Left projects/modeling/variability_model.org's historical "Profile catalogue" table and doc/analysis/=/=doc/plans/ snapshots alone — correctly framed as point-in-time historical record, not live docs.

Verified: 50 pytest unit tests pass, the component-scaffold verify script passes, and codegen generate=/=regenerate --dry-run=/=entity generate|show were exercised end-to-end against real entities.

Emacs 29.3 (Org mode 9.6.15)