Seed web-services (API v2) knowledge domain#45
Open
JesperSchulz wants to merge 2 commits into
Open
Conversation
Add eight web-services API page knowledge articles (each with .good.al/.bad.al samples), a new al-web-services-review leaf skill, and wire it into al-code-review and the README. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Drop API entity-naming/camelCase and DelayedInsert articles (owned by the style domain). Reframe the committed-data and API-versioning articles to stay strictly within the endpoint design/behavior lane, and update the leaf skill's worklist tokens and Output example accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Seeds a new
web-servicesknowledge domain covering API endpoint design and behavior (API v2 / API pages), plus a matching review leaf skill and the routine wiring.Scope / de-duplication
This domain deliberately covers API endpoint design and behavior only. It excludes topics already owned by other domains, to avoid duplication:
DelayedInsert, and thevX.Yversion-string format are owned by thestyledomain.performancedomain. The committed-data article here is framed strictly as the endpoint's data-consistency contract (what a consumer receives), not as a locking/performance concern.Knowledge articles (6)
Each is a
.mdwith sibling.good.al/.bad.alsamples,domain: web-services, unique object IDs in the50340–50357range (gaps at 50342/50343/50346/50347 left from the trimmed articles; no renumbering, no collisions):set-required-api-page-properties— aPageType = APIpage must declare APIPublisher, APIGroup, APIVersion, EntityName, EntitySetName, and SourceTable.expose-systemid-as-the-api-key—ODataKeyFields = SystemId+field(id; Rec.SystemId)for stable addressing.expose-only-committed-data-from-api-reads—Rec.ReadIsolation := IsolationLevel::ReadCommittedinOnOpenPageso the endpoint returns only committed data (bc-version[22..]).expose-operations-as-bound-actions—[ServiceEnabled]bound actions viaWebServiceActionContext, not side-effecting status flags.version-apis-by-adding-not-mutating-published-versions— add a newAPIVersionalongside the published one instead of mutating it in place.disable-write-operations-on-read-only-api-pages—InsertAllowed/ModifyAllowed/DeleteAllowed = false(andEditable = false).New leaf skill
microsoft/skills/review/al-web-services-review.md— modeled onal-error-handling-review.md, sourced fromdomain: web-servicesknowledge.Wiring
microsoft/skills/review/al-code-review.md— added the leaf tosub-skills, to the## Sourcelist, and to the line-6descriptionparenthetical (, web services).README.md— leaf countseven→eight; appended, web servicesto the domain list.Validation
python .github/scripts/validate_frontmatter.py→ 0 errors / 0 warnings.pwsh -File .github/scripts/Test-KnowledgeIndex.ps1→ PASSED (166 articles, deterministic, full coverage, selection inputs intact, no object-ID collisions). The knowledge index is generated, not committed.Note on wiring conflicts
A routine wiring conflict is expected with other open leaf-domain PRs (#42 / #43 / #44) in
al-code-review.mdandREADME.md. Resolution: keep ALL leaves, and set the README leaf count = base + number of merged leaf domains.Part of #34.