Scoped target-name fact interpretation with explicit provider admission
morphir://ir/pkg/morphir/naming?format=4.1.0#/module/naming/value/target-names| Provider contract | Required declaration |
|---|---|
| Distribution | Freshly authenticated signed morphir/naming Library, native format 4.1.0 |
| Declaration | Public naming module with public target-names ValueDefinition |
| Output type | Closed record with exactly frontend and backend, both Dict String String |
| Native schema facts | subject-role = ValueDefinition, object-form = data, interpreter = target-name-language-ids |
| Schema vocabulary | morphir://ir/pkg/morphir/metadata?format=4.1.0#/module/schema/value/ |
| Identity | Exact restored SHA-256 revision and matching revision-pinned distribution URI |
morphir_linked_metadata_v1::{
document: "morphir://ir/pkg/example/annotations?format=4.1.0#/distribution",
'$meta': {
'@context': {
targetNames: {
'@id': "morphir://ir/pkg/morphir/naming?format=4.1.0#/module/naming/value/target-names",
'@type': "@json"
}
},
'@graph': [{
'@id': "morphir://ir/pkg/example?format=4.0.0#/module/main/value/ready",
targetNames: {
frontend: {moonbit: "isReady"},
backend: {moonbit: "chosen"}
}
}]
}
}moon test -p finos/morphir-metadata --target allpub(all) struct Assertion {
holder : String
document : String
carrier : String
subject : String
predicate : String
property : String
ordinal : Int
object_ordinal : Int
}pub(all) struct Capabilities {
restore_library : (String) -> RestoredLibrary raise?
load_context : (String, String) -> ContextDocument raise?
target_names_interpreter : Bool
provider_observer : ProviderObserver
}pub(all) struct NamingFact {
owner : String
names : TargetNames
assertions : Array[Assertion]
provider_revision : String
}fn interpret(file : IRFile, unit_id : String, entries : Array[MetadataEntry], capabilities? : Capabilities, owned? : Map[String, Bool]) -> Interpretation raisefn is_target_names_predicate(uri : String) -> Bool raise