superfaceai / spec

The Comlink Specification. Comlink is a new interface description and integration language build self-integrating applications.
https://superface.ai/docs/comlink/specification
MIT License
11 stars 1 forks source link

Required values and correct literals #47

Closed freaz closed 1 year ago

freaz commented 1 year ago

In this PR is clarified how to work with absent values.

Related Decision record internal

github-actions[bot] commented 1 year ago

Deploy preview for specification ready!

✅ Preview https://specification-l0u8o6mqu-superface.vercel.app

Built with commit 493e57fd3da4d9b47022f3f01019fcb0b733a53a. This pull request is being automatically deployed with vercel-action

freaz commented 1 year ago

Ok, that's a pretty good concern, and thanks for pointing it out because I did think about profile exactly as you described. Which has its good reasons, but I'd appreciate your time to help me make correct mindset where Comlink Profile should stand.

zdne commented 1 year ago

@freaz I'd say ship it. We've already went the cvMIMETypes! [string!]! way.

zdne commented 1 year ago

I don't think I fully understand what @zdne is saying in his comment so I'd appreciate more insight as well.

@TheEdward162

The original idea was to semantically describe application profile as was with ALPS. Essentially, Comlink profile was meant to be a streamlined version of it.

Originally I did not want any data types in it. This is why it was possible (still is?) to specify untyped fields. See some internal discussion here.

With the pushback (including VKJ) we've moved to a more typed interface. My comment above was that this PR is closing some of the gaps; turning what started as a semantic profile to a full typed interface (or semantic profile with typed overlay at best).

Hope this clarifies.

With that being said, I think this PR should be accepted and merged as it is really just filling some blanks on the way to a fully typed interface.