T-U72C-generic-ops-registry-composition-path
Status: closed/done · Impact: medium · Complexity: small
The op registry’s discovery walk roots only entities/<type>/ops/ and
services/<service>/ops/, so generic cross-entity ops under
model/ops/ cannot self-register via the walk; they instead register
through explicit defineOp at import via a barrel. Either D-0007 §2a
(and/or the registry doc) should state which composition path generic
cross-entity ops use, or the module-walk should gain a model/ops/
discovery root — so the registration story for generic ops is no longer
a side-channel an implementer has to rediscover.
The op registry’s discovery walk roots only
entities/<type>/ops/andservices/<service>/ops/, so generic cross-entity ops undermodel/ops/cannot self-register via the walk and instead register through explicitdefineOpat import via a barrel. D-0007 §2a (and/or the registry doc) should state which composition path generic cross-entity ops use, or the module-walk should gain amodel/ops/discovery root. Surfaced by T-0010’s relocation of audit/validate/migrate/check-identifiers intomodel/ops/.
— from T-0010 post-mortem (Friction and automation gaps)
TBD — receiver to fill before promoting from planning/draft.
Proposed
Section titled “Proposed”TBD — receiver to fill before promoting from planning/draft.
Approach
Section titled “Approach”TBD — receiver to fill before promoting from planning/draft.
Files to touch
Section titled “Files to touch”TBD — receiver to fill before promoting from planning/draft.
Acceptance criteria
Section titled “Acceptance criteria”TBD — receiver to fill before promoting from planning/draft.
Out of scope
Section titled “Out of scope”- none
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Spawned by /sdlc:spawn-task-pr on 2026-06-04 UTC from T-0010 in git@github.com:sksizer/dev.git.