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 fromfacet_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/*.orgrecipe mentioning--profileorall-cppas a profile name (the--addressequivalent, e.g.ores.cpp, should be the documented form going forward). projects/ores.compass/src/compass_codegen*.pydocstrings/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.