CEXT-6138: spec process setup and capability discovery design#411
CEXT-6138: spec process setup and capability discovery design#411obarcelonap wants to merge 17 commits intomainfrom
Conversation
|
b6de18d to
2b0322c
Compare
|
@oshmyheliuk thanks for the review, I did a major rework which included changing the spec template, please take a look. |
|
|
||
| ## Drawbacks | ||
|
|
||
| - Adds a new `metadata` runtime action to every SDK-based deployment. |
There was a problem hiding this comment.
I remember we discussed how to reduce the number of runtime actions.
Maybe we can add a new endpoint to one of the already existing actions?
There was a problem hiding this comment.
The only place this would make sense to add is the GET /app-config which is already "taken". We can return it as additional properties maybe tho. For what is worth, if the metadata action is going to return purely static data, the build time should be close to 0. Maybe also the deploy time.
There was a problem hiding this comment.
what if we use GET /app-config/openapi.json? this is the same discussion we had about adding new actions for uninstallation process and we decided to keep the actions to the minimum.
@oshmyheliuk @iivvaannxx if you agree I change the spec with this approach.
There was a problem hiding this comment.
Didn't think of that, sounds good to me
|
|
||
| ## Drawbacks | ||
|
|
||
| - Adds a new `metadata` runtime action to every SDK-based deployment. |
There was a problem hiding this comment.
The only place this would make sense to add is the GET /app-config which is already "taken". We can return it as additional properties maybe tho. For what is worth, if the metadata action is going to return purely static data, the build time should be close to 0. Maybe also the deploy time.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
95d5067 to
17a6c91
Compare
Description
Introduces spec-driven development infrastructure and the first feature spec.
Spec infrastructure (
specs/):specs/conventions.md— when to write a spec, two-PR workflow, status model, one-spec-per-ticket rulespecs/features/_template.md— template for new specsformat:markdownextended to includespecs/**/*.mdAGENTS.mdupdated with spec authoring guidanceFeature spec (
specs/features/CEXT-6138-capability-discovery.md):/__metadata__/openapi.jsonpre-app-buildgenerates a filtered subset based on active config domainsmetadataruntime action at build time (sameimport … with { type: "json" }pattern asapp-configandconfigactions)Related Issue
CEXT-6138
Motivation and Context
Clients need to know which features and endpoints are active for a given deployment. Today this is inferred at runtime by inspecting API response shapes — a fragile pattern that couples client logic to internal API details. This spec defines a formal discoverability mechanism and establishes the spec process for future SDK features.
How Has This Been Tested?
N/A — spec and tooling only. No runtime code changes.
Types of changes
Checklist: