diffo 0.4.1 is a patch release with three things worth adopting here, plus a default JSON change to verify.
Upstream change modules. We ship DiffoExample.Changes.{Define,Relate,Assign} locally to wrap the after-action plumbing for :define, :relate, and :assign_* actions. 0.4.1 promotes the identical pattern into Diffo.Provider.Changes.{Define,Relate,Assign}. Adopting them removes the local trio and aligns example consumers with documented Diffo guidance.
Auto-generated characteristic actions. Every BaseCharacteristic-derived resource in this project hand-rolls the standard :create (accepting [:name | <public_attrs>] with :instance_id / :feature_id arguments and the two manage_relationship changes) and :update (accepting <public_attrs>) action block. 0.4.1 synthesises these by default, so the boilerplate can come out unless we want a narrower accept list — which we don't.
TMF-correct service lifecycle. The DSL Access service currently lands qualify_result in :inactive because the prior Assigner only allowed assignment from :active/:inactive. 0.4.1 broadens the policy to include :feasibilityChecked, so the example can demonstrate the proper TMF state after qualification — qualification check → :feasibilityChecked, design → :reserved — rather than the workaround state.
TMF JSON surfacing. BaseInstance now surfaces typed BaseCharacteristic records and AssignableCharacteristic pool records in the serviceCharacteristic / resourceCharacteristic arrays by default (via new :typed_characteristics and :pool_characteristics calculations). Worth confirming our example JSON output is what we want now that these are visible.
Release as 0.2.3.
diffo 0.4.1 is a patch release with three things worth adopting here, plus a default JSON change to verify.
Upstream change modules. We ship
DiffoExample.Changes.{Define,Relate,Assign}locally to wrap the after-action plumbing for:define,:relate, and:assign_*actions. 0.4.1 promotes the identical pattern intoDiffo.Provider.Changes.{Define,Relate,Assign}. Adopting them removes the local trio and aligns example consumers with documented Diffo guidance.Auto-generated characteristic actions. Every
BaseCharacteristic-derived resource in this project hand-rolls the standard:create(accepting[:name | <public_attrs>]with:instance_id/:feature_idarguments and the twomanage_relationshipchanges) and:update(accepting<public_attrs>) action block. 0.4.1 synthesises these by default, so the boilerplate can come out unless we want a narrower accept list — which we don't.TMF-correct service lifecycle. The DSL Access service currently lands
qualify_resultin:inactivebecause the prior Assigner only allowed assignment from:active/:inactive. 0.4.1 broadens the policy to include:feasibilityChecked, so the example can demonstrate the proper TMF state after qualification — qualification check →:feasibilityChecked, design →:reserved— rather than the workaround state.TMF JSON surfacing.
BaseInstancenow surfaces typedBaseCharacteristicrecords andAssignableCharacteristicpool records in theserviceCharacteristic/resourceCharacteristicarrays by default (via new:typed_characteristicsand:pool_characteristicscalculations). Worth confirming our example JSON output is what we want now that these are visible.Release as 0.2.3.