-
Notifications
You must be signed in to change notification settings - Fork 624
Description
Description
Provide the ability for Open Liberty to act as an MCP Server, giving developers the ability to define Tools, Resources, Prompts for use by AI Apps.
MCP: https://modelcontextprotocol.io/
Documents
When available, add links to required feature documents. Use "N/A" to mark particular documents which are not required by the feature.
- Externally raised requests for enhancements:
- Aha: Link to the Aha idea (also add a link to this issue in the Aha idea)
- Feature owner adds label
Aha idea
- Feature owner adds label
- Open Liberty Feature Request: Link to the OL GH issue (also add a link to this issue in the Feature Request GH issue)
- Feature owner adds label
Requested feature
- Feature owner adds label
- Aha: Link to the Aha idea (also add a link to this issue in the Aha idea)
- UFO: Link to Upcoming Feature Overview document
- Upload the feature UFO to Box and set the link to be publicly accessible, with a long expiration (10 years)
- Click "Share" > select "People with link" > click "Link Settings" > under "Link Expiration" select "Disable Shared Link on" > set an expiration date ~10 years into the future
- If you lack permissions, contact OpenLiberty/release-architect
- Upload the feature UFO to Box and set the link to be publicly accessible, with a long expiration (10 years)
- FTS: Link to Feature Test Summary GH Issue
- Beta Blog(s): Link to Beta Blog Post GH Issue(s)
- GA Blog: Link to GA Blog Post GH Issue
Process Overview
General Instructions
The process steps occur roughly in the order as presented. Process steps occasionally overlap.
Each process step has a number of tasks which must be completed or must be marked as not applicable ("N/A").
Unless otherwise indicated, the tasks are the responsibility of the feature owner or a delegate of the feature owner.
If you need assistance, reach out to the OpenLiberty/release-architect.
Important: Labels are used to trigger particular steps and must be added as indicated.
Sizing (Complete Before Development Starts)
Sizing features helps inform prioritization decisions by telling us how much investment a given feature will require.
- Feature owner determines the size of the feature.
- Feature owner tells the Open Liberty Project Manager, Release Architect, or Chief Architect what the size of the feature is.
Consider this as the scale to use to gauge sizes:
Size | Guide |
---|---|
XS | <= 1 person week's (PW) worth of work |
S | 2-3 PW |
M | 4-5 PW |
L | 6-9 PW |
XL | 10-15 PW |
2XL | 16-20 PW |
3XL | 21+ PW |
Prioritization (Complete Before Development Starts)
The OpenLiberty/chief-architect and area leads are responsible for prioritizing the features and determining which features are being actively worked on.
Prioritization
- Feature owner adds label
Prioritization - Requested
- This puts the feature on the radar of the OpenLiberty/chief-architect and OpenLiberty/project-manager. They are responsible for querying for new features that need to be prioritized.
- OpenLiberty/project-manager adds feature to the "New" column of the Open Liberty project board
- Priority assigned
- Attend the Liberty Backlog Prioritization meeting
Prioritization - Requested
label removed (OpenLiberty/project-manager or feature owner)
Design (Complete Before Development Starts)
Design preliminaries determine whether a formal design, which will be provided by an Upcoming Feature Overview (UFO) document, must be created and reviewed. A formal design is required if the feature requires any of the following: UI, Serviceability, SVT, Performance testing, or non-trivial documentation/ID. Furthermore, each identified item places a blocking requirement on another team so it must be identified early in the process. The feature owner may check-off the item if they know it doesn't apply, but otherwise they should work with the focal point to determine what work, if any, will be necessary and make them aware of it.
Design Preliminaries
- UI requirements identified, or N/A. (Feature owner and UI focal point)
- Accessibility requirements identified, or N/A. (Feature owner and Accessibility focal point)
- ID requirements identified, or N/A. (Feature owner and ID focal point)
- Refer to Documenting Open Liberty.
- Feature owner adds label
ID Required
, if non-trivial documentation needs to be created by the ID team. - ID adds label
ID Required - Trivial
, if no design will be performed and only trivial ID updates are needed.
- Serviceability requirements identified, or N/A. (Feature owner and Serviceability focal point)
- SVT requirements identified, or N/A. (Feature owner and SVT focal point)
- Performance testing requirements identified, or N/A. (Feature owner and Performance focal point)
Design
- POC Design / UFO review requested.
- Feature owner adds label
Design Review Request
- Feature owner adds label
- POC Design / UFO review scheduled.
- Follow the instructions in POC-Forum repo
- POC Design / UFO review completed.
- POC / UFO Review follow-ons completed.
- POC Design / UFO approval requested.
- Feature owner adds label
Design Approval Request
- Feature owner adds label
- Design / UFO approved. (OpenLiberty/chief-architect) or N/A
- (OpenLiberty/chief-architect) adds label
Design Approved
- Add the public link to the UFO in Box to the Documents section.
- The UFO must always accurately reflect the final implementation of the feature. Any changes must be first approved. Afterwards, update the UFO by creating a copy of the original approved slide(s) at the end of the deck and prepend "OLD" to the title(s). A single updated copy of the slide(s) should take the original's place, and have its title(s) prepended with "UPDATED".
- (OpenLiberty/chief-architect) adds label
No Design
- No Design requested.
- Feature owner adds label
No Design Approval Request
- Feature owner adds label
- No Design / No UFO approved. (OpenLiberty/chief-architect) or N/A
- Approver adds label
No Design Approved
- Approver adds label
- Feature / Capability stabilization or discontinuation or N/A
- Feature owner adds label
Product Management Approval Request
and notifies OpenLiberty/product-management - Approver adds label
Product Management Approved
(OpenLiberty/product-management) - Note: For stabilized, superseded, and discontinued feature/capability, skip the Beta section of the template (you may delete it). Otherwise, proceed as normal.
- Feature owner adds label
Design Approval Request
Request design approval no later than 4 weeks before the Feature Complete date for the release.
Ideally, submit UFOs for design approval from the Chief Architect as soon as possible after addressing any feedback from the socialization. But that should be no later than 4 weeks before Feature Complete.
That gives the Chief Architect time to review the design and have developers make any necessary updates before the Feature Complete date hits for the release you’re trying to go out in.
See the WebSphere Dates Monday.com board or Current Liberty Release Schedule for relevant dates.
FAT Documentation
- "Feature Test Summary" child task created
- Use the Feature Test Summary Template
- Add FTS issue link to the Documents section.
Implementation
A feature must be prioritized before any implementation work may begin to be delivered (inaccessible/no-ship). However, a design focused approach should still be applied to features, and developers should think about the feature design prior to writing and delivering any code.
Besides being prioritized, a feature must also be socialized (or No Design Approved) before any beta code may be delivered. All new Liberty content must be inaccessible in our GA releases until it is Feature Complete by either marking it kind=noship
or beta fencing it.
Code may not GA until this feature has obtained the Design Approved
or No Design Approved
label, along with all other tasks outlined in the GA section.
Feature Development Begins
- Add the
In Progress
label
Legal and Translation
In order to avoid last minute blockers and significant disruptions to the feature, the legal items need to be done as early in the feature process as possible, either in design or as early into the development as possible. Similarly, translation is to be done concurrently with development. All items below MUST be completed before beta & GA is requested.
Innovation (Complete 1 week before Beta & GA Feature Complete Date)
- Consider whether any aspects of the feature may be patentable. If any identified, disclosures have been submitted.
Legal (Complete before Beta & GA Feature Complete Date)
- Changed or new open source libraries are cleared and approved, or N/A. (Legal Release Services/Cass Tucker/Release PM).
Translation (Complete by Beta & GA Feature Complete Date)
- PII (Program Integrated Information) updates are merged (i.e. all English strings due for translation have been delivered), or N/A.
Beta
In order to facilitate early feedback from users, all new features and functionality should first be released as part of a beta release.
Beta Code
- Beta fence the functionality
- E.g.
kind=beta
,ibm:beta
,ProductInfo.getBetaEdition()
- E.g.
- Beta development complete and feature ready for inclusion in a beta release
- Add label
target:beta
and the appropriatetarget:YY00X-beta
(where YY00X is the targeted beta version) to the feature issue.- Note: This is expected to be done only once, for the initial beta that includes this feature. You do not need to add a
target:YY00(X+1)-beta
,target:YY00(X+2)-beta
, etc. label for each additional beta that includes this feature.
- Note: This is expected to be done only once, for the initial beta that includes this feature. You do not need to add a
- Add label
- Feature delivered into beta
- (OpenLiberty/release-manager) adds label
release:YY00X-beta
(where YY00X is the first beta version that included the functionality).
- (OpenLiberty/release-manager) adds label
Beta Blog (Complete by beta eGA)
- Beta blog issue created and populated using the Open Liberty BETA blog post template.
- Add a link to the beta blog issue in the Documents section.
- Note: This is for inclusion into the overall beta release blog post. If, in addition, you'd also like to create a dedicated blog post about your feature, then follow the "Standalone Feature Blog Post" instructions under the Other Deliverables section.
- A feature may have multiple beta blogs associated with it. This is especially useful for features that are continuously adding functionality each release and want to advertise what is new since the previous beta.
- Each beta blog issue should have the appropriate
target:YY00X-beta
label added to it. - Include each beta blog issue in the Documents section.
- Each beta blog issue should have the appropriate
GA
A feature is ready to GA after it is Feature Complete and has obtained all necessary Focal Point Approvals.
Feature Complete
- Feature implementation and tests completed.
- All PRs are merged.
- All related/child issues are closed.
- All stop ship issues are completed.
- Legal: all necessary approvals granted.
- Innovation: IP identified and any applicable disclosures submitted
- Translation: Feature may only proceed to GA if it has either
Translation - Not Required
,Translation - Complete
, orTranslation - Missing
label- If the feature does not have anything that required translation, the feature owner adds the label
Translation - Not Required
. - If all translation has been delivered to
release
branch, feature owner adds labelTranslation - Complete
. - If missing translation does not cause a break in functionality, nor a security or production outage risk, feature owner adds label
Translation - Missing
.- Once all missing translations are delivered, the
Translation - Missing
label is replaced withTranslation - Complete
.
- Once all missing translations are delivered, the
- If missing translation could cause a break in functionality or a security or production outage risk, feature owner adds the
Translation - Blocked
label.- Features with
Translation - Blocked
may NOT proceed to GA until the label has been replaced with eitherTranslation - Missing
orTranslation - Complete
.
- Features with
- For further guidance, contact Globalization focal point or the Release Architect.
- If the feature does not have anything that required translation, the feature owner adds the label
- GA development complete and feature ready for inclusion in a GA release
- Add label
target:ga
and the appropriatetarget:YY00X
(where YY00X is the targeted GA version). - Inclusion in a release requires the completion of all Focal Point Approvals.
- Add label
Focal Point Approvals (Complete by Feature Complete Date)
These occur only after GA of this feature is requested (by adding a target:ga
label). GA of this feature may not occur until all approvals are obtained.
All Features
- APIs/Externals - Externals have been reviewed or N/A. (OpenLiberty/externals-approvers)
- Approver adds label
focalApproved:externals
- Approver adds label
- Demo - Demo is scheduled for an upcoming EOI or N/A. (OpenLiberty/demo-approvers)
- Add comment
@OpenLiberty/demo-approvers Demo scheduled for EOI [Iteration Number]
to this issue. - Approver adds label
focalApproved:demo
.
- Add comment
- FAT - All Tests complete and running successfully in SOE or N/A. (OpenLiberty/fat-approvers)
- Approver adds label
focalApproved:fat
.
- Approver adds label
Design Approved Features
- ID - Documentation is complete or N/A. (OpenLiberty/id-approvers)
- Approver adds label
focalApproved:id
. -
NOTE: If only trivial documentation changes are required, you may reach out to the ID Feature Focal to request a
ID Required - Trivial
label. Unlike features with regular ID requirement, those withID Required - Trivial
label do not have a hard requirement for a Design/UFO.
- Approver adds label
- InstantOn - InstantOn capable or N/A. (OpenLiberty/instantOn-approvers)
- Approver adds label
focalApproved:instantOn
.
- Approver adds label
- Performance - Performance testing is complete or N/A. (OpenLiberty/performance-approvers)
- Approver adds label
focalApproved:performance
.
- Approver adds label
- Serviceability - Serviceability has been addressed or N/A. (OpenLiberty/serviceability-approvers)
- Approver adds label
focalApproved:serviceability
.
- Approver adds label
- STE - Skills Transfer Education chart deck is complete or N/A. (OpenLiberty/ste-approvers)
- Approver adds label
focalApproved:ste
.
- Approver adds label
- SVT - System Verification Test is complete or N/A. (OpenLiberty/svt-approvers)
- Approver adds label
focalApproved:svt
.
- Approver adds label
Remove Beta Fencing (Complete by Feature Complete Date)
- Beta guards are removed, or N/A
- Only after all necessary Focal Point Approvals have been granted.
GA Blog (Complete by Friday after GM)
- GA Blog issue created and populated using the Open Liberty GA release blog post template.
- Add a link to the GA Blog issue in the Documents section.
- Note: This is for inclusion into the overall release blog post. If, in addition, you'd also like to create a dedicated blog post about your feature, then follow the "Standalone Feature Blog Post" instructions under the Other Deliverables section.
Post GM (Complete before GA)
- After confirming this feature has been included in the GM driver, feature owner closes this issue.
Post GA
- Remove the
target:ga
andtarget:YY00X
labels, and add the appropriaterelease:YY00X
. (OpenLiberty/release-manager)
Other Deliverables
- Standalone Feature Blog Post - A blog post specifically about your feature or N/A. (Feature owner and OpenLiberty/release-architect)
- This should be strongly considered for larger or more prominent features.
- Follow instructions in the blogs repo.
- OL Guides - OL Guides assessment is complete or N/A. (OpenLiberty/guide-assessment)
- Dev Experience - Developer Experience & Tools work is complete or N/A. (OpenLiberty/dev-experience-assessment)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status