Skip to content

Commit d10403c

Browse files
authored
Merge branch 'main' into user/jsinghmokha/add-section-management-apis-beta
2 parents dd60f96 + 9e8b84f commit d10403c

6,412 files changed

Lines changed: 146579 additions & 10004 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gdn/.gdnbaselines

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,6 @@
3939
"tool": "psscriptanalyzer",
4040
"ruleId": "PSAvoidUsingConvertToSecureStringWithPlainText",
4141
"createdDate": "2026-02-24 12:06:54Z"
42-
},
43-
"261f3837d9978ecb7637c62a4ced8a0eb843e19a07557738ce232dc24410ac96": {
44-
"signature": "261f3837d9978ecb7637c62a4ced8a0eb843e19a07557738ce232dc24410ac96",
45-
"alternativeSignatures": [],
46-
"target": "update-permissions-reference-fic.ps1",
47-
"line": 179,
48-
"memberOf": [
49-
"default"
50-
],
51-
"tool": "psscriptanalyzer",
52-
"ruleId": "PSAvoidUsingConvertToSecureStringWithPlainText",
53-
"createdDate": "2026-02-24 12:06:54Z"
5442
}
5543
}
5644
}

.gdn/.gdnsuppress

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,6 @@
3939
"tool": "psscriptanalyzer",
4040
"ruleId": "PSAvoidUsingConvertToSecureStringWithPlainText",
4141
"createdDate": "2026-02-24 12:06:54Z"
42-
},
43-
"261f3837d9978ecb7637c62a4ced8a0eb843e19a07557738ce232dc24410ac96": {
44-
"signature": "261f3837d9978ecb7637c62a4ced8a0eb843e19a07557738ce232dc24410ac96",
45-
"alternativeSignatures": [],
46-
"target": "update-permissions-reference-fic.ps1",
47-
"line": 179,
48-
"memberOf": [
49-
"default"
50-
],
51-
"tool": "psscriptanalyzer",
52-
"ruleId": "PSAvoidUsingConvertToSecureStringWithPlainText",
53-
"createdDate": "2026-02-24 12:06:54Z"
5442
}
5543
}
5644
}

.github/prompts/author-api-docs.prompt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
agent: agent
33
model: Claude Sonnet 4.5 (copilot)
4-
tools: ['usages', 'problems', 'fetch', 'githubRepo', 'runCommands', 'edit/createFile', 'edit/editFiles', 'search']
4+
tools: ['usages', 'problems', 'fetch', 'githubRepo', 'runCommands', 'edit/createFile', 'edit/editFiles', 'search', 'github/*']
55
description: Author and update Microsoft Graph API reference documentation using autogenerated doc stubs
66
name: authorAPIdocs
77
---

.github/prompts/author-api-docs/common.md

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ If a conflict is significant, flag it to the author in the final summary but fol
3131
Gather both values in a **single upfront step** to minimize round-trips with the author:
3232

3333
1. **Attempt auto-detection first:**
34-
- `author`: Use the GitHub login of the signed-in user
34+
- `author`: Use the `get_me` tool to get the GitHub Login of the signed-in user
3535
- `ms.subservice`: Inspect existing API/resource files being updated and use their `ms.subservice` value (exclude enum files)
3636

3737
2. **If either value cannot be inferred**, ask the author for both at once:
@@ -45,17 +45,7 @@ Gather both values in a **single upfront step** to minimize round-trips with the
4545

4646
### temp-docstubs Folder
4747

48-
Before beginning any documentation process, instruct the author to add all required files to the `temp-docstubs` folder in this workspace:
49-
50-
**For Scenario 1 (Fresh APIs / beta changes):**
51-
- Autogenerated doc stubs (*.md files)
52-
- API.md file describing the capabilities being added/changed
53-
- Autogenerated changelog file (changelog_*.json)
54-
55-
**For Scenario 2 (Promotion from beta to v1.0):**
56-
- Documentation Plan documenting what is being promoted
57-
- **Optional:** Autogenerated doc stubs (*.md files for v1.0)
58-
- Autogenerated changelog file (changelog_*.json)
48+
Before beginning any documentation process, instruct the author to add all required files to the `temp-docstubs` folder in this workspace. The specific files needed depend on the scenario — see the **Inputs** section of the relevant scenario file for details.
5949

6050
**Important notes about temp-docstubs:**
6151
- This folder is temporary storage for input files needed during authoring
@@ -86,7 +76,7 @@ After authoring documentation, update the appropriate changelog file in the `cha
8676
// Records will go here
8777
],
8878
"Id": "{unique-guid}",
89-
"Cloud": "prd",
79+
"Cloud": "Prod",
9080
"Version": "beta",
9181
"CreatedDateTime": "{YYYY-MM-DDTHH:mm:ss.fffffffZ}",
9282
"WorkloadArea": "{WorkloadArea}",
@@ -100,7 +90,7 @@ After authoring documentation, update the appropriate changelog file in the `cha
10090
- **IMPORTANT:** A changelog record is NOT just the ChangeList array. A complete changelog record consists of:
10191
- `ChangeList` array (containing individual change items)
10292
- `Id` (unique GUID for this set of changes)
103-
- `Cloud` (always "prd")
93+
- `Cloud` (use "Prod" for new entries; older changelogs may have "prd")
10494
- `Version` (e.g., "beta" or "v1.0")
10595
- `CreatedDateTime` (ISO 8601/RFC 3339 DateTime with fractional seconds and Z suffix)
10696
- `WorkloadArea` (e.g., "Security")
@@ -132,7 +122,7 @@ After authoring documentation, update the appropriate changelog file in the `cha
132122
}
133123
],
134124
"Id": "1e2218aa-5dbc-4c74-a0fe-1d06e90b451c",
135-
"Cloud": "prd",
125+
"Cloud": "Prod",
136126
"Version": "beta",
137127
"CreatedDateTime": "2025-11-17T17:38:10.4694969Z",
138128
"WorkloadArea": "Security",
@@ -179,7 +169,7 @@ Collect the following details for each API change (refer to **templates/changelo
179169

180170
**Required record-level properties:** Version, WorkloadArea, SubArea
181171

182-
**Note:** Cloud is always "prd" - no need to ask the author.
172+
**Note:** Cloud is "Prod" for new entries - no need to ask the author. Older changelogs may use "prd", which is also valid.
183173

184174
**Step 3: Generate GUID and timestamp**
185175

@@ -259,7 +249,7 @@ After updating What's new, update the appropriate TOC mapping file to make new d
259249

260250
**For new files:** Include only HTTP request examples using `msgraph-interactive` (for URLs without an ID placeholder, e.g., `https://graph.microsoft.com/v1.0/users`) or `http` language identifier. No tabs or SDK includes.
261251

262-
**For existing files:** Follow the established pattern. If the file has no SDK snippets, add only HTTP examples. Do not introduce SDK snippets to files lacking them.
252+
**For existing files:** Follow the established pattern. If the file has no SDK snippets, add only HTTP examples. Do not introduce SDK snippets to files or examples lacking them.
263253

264254
**Example HTTP-only format:**
265255

@@ -399,11 +389,12 @@ Fully qualify any type (including enum types) that is defined in a subnamespace
399389
- Remove beta disclaimer when promoting to v1.0
400390

401391
**National cloud include statement:**
402-
- API method files in beta include an autogenerated national cloud support statement immediately before the `## Permissions` header. Example include statement for all clouds support:
392+
- API method files in beta include an autogenerated national cloud support statement immediately before the `## Permissions` header. Example:
403393
```
404394
[!INCLUDE [national-cloud-support](../../includes/all-clouds.md)]
405395
```
406-
- Remove this include statement when promoting to v1.0
396+
- **Do not add** this statement when authoring new API method files — it is added automatically by a downstream process
397+
- **Delete** this statement from files copied from beta when promoting to v1.0
407398

408399
## Documentation Standards
409400

@@ -416,6 +407,7 @@ Fully qualify any type (including enum types) that is defined in a subnamespace
416407
**Permissions:**
417408
- Must start with the standard boilerplate text
418409
- Must include link to a permissions table
410+
- **(Optional) RBAC include:** If the documentation plan or author specifies required Entra admin roles, add an RBAC include statement immediately after the permissions table include. See [RBAC for APIs include file templates](../../../templates/rbac-for-apis-include.md) for file conventions, naming, and content templates.
419411

420412
**HTTP request:**
421413
- Use relative URLs (e.g., `/users` not `https://graph.microsoft.com/beta/users`)
@@ -611,6 +603,19 @@ Use the following format when reporting file processing results, so output is co
611603
⚠️ Blocked: [list with reasons, or "None"]
612604
```
613605

606+
**Mid-phase validation** (required at every ⏸ phase gate, before moving to the next phase):
607+
608+
Re-read each file completed in the current phase and verify it meets expectations for its file type. Output a validation checklist:
609+
610+
```
611+
✅ Phase [N] Validation
612+
- [file1.md]: H1 ✓ | Namespace ✓ | Properties table ✓ | JSON representation ✓
613+
- [file2.md]: H1 ✓ | Namespace ✓ | Permissions ✓ | HTTP request ✓ | Examples ✓
614+
- [file3.md]: H1 ✓ | Namespace ✓ | Properties table ✗ (missing "newProperty") — FIXING
615+
```
616+
617+
Fix any failures before proceeding to the next phase. Do not defer fixes to end-of-session.
618+
614619
## State Tracking
615620

616621
Maintain a running progress tracker throughout the session. After each file or batch of files, update and display:
@@ -633,8 +638,9 @@ For Documentation Plans with many files (10+):
633638
1. **Group by type:** resources, API methods, enumerations, permissions, supporting files
634639
2. **Process in batches of 5 files** — complete all steps for each file before moving to the next
635640
3. **After each batch**, output a phase status summary (see [Structured Output Format](#structured-output-format))
636-
4. **Present the execution plan upfront** and proceed unless the author objects — avoid blocking confirmations for each batch when the Documentation Plan is clear
637-
5. **If the plan exceeds 20 files**, create a numbered task list at the start, group into batches, and checkpoint progress after each batch
641+
4. **Verify each batch before proceeding:** Re-read every file in the completed batch and confirm it contains the expected sections (e.g., H1, namespace, Permissions, HTTP request, Examples for API files; H1, namespace, Properties table, JSON representation for resource files). Fix any issues before starting the next batch.
642+
5. **Present the execution plan upfront** and proceed unless the author objects — avoid blocking confirmations for each batch when the Documentation Plan is clear
643+
6. **If the plan exceeds 20 files**, after the first batch completes and is verified, **stop and ask the author to confirm quality** before continuing. This catches systematic errors early.
638644

639645
## Decision Trees for Ambiguous Cases
640646

@@ -700,15 +706,18 @@ After processing all files in a documentation session, verify cross-file consist
700706
2. **API file ↔ resource link:** Every API file's description should link back to its parent resource, and that resource file should exist
701707
3. **Enum references ↔ definitions:** Every enum type referenced in Properties tables should be defined in the appropriate enums file, parent resource, or separate topic
702708
4. **Permissions files:** Every permissions include reference in API files should have a corresponding file in the `includes/permissions/` folder
709+
5. **RBAC files:** If any API file has an RBAC include reference, verify the corresponding file exists in `includes/rbac-for-apis/`
703710
5. **JSON representation ↔ Properties table:** Properties listed in the JSON representation section should match the Properties table
704-
6. **Polymorphic collections:** If a Documentation Plan flagged polymorphic types, verify: (a) no operation files were created using derived type names, (b) all shared operation files use the base type name, (c) base type resource page has the Methods table (including base-type-only operations for concrete bases), (d) derived type resource pages reference the base type for operations, (e) `@odata.type` guidance is included in POST/PATCH request body sections
711+
6. **Polymorphic collections:** If a Documentation Plan flagged polymorphic types, verify: (a) no operation files were created using derived type names, (b) all shared operation files use the base type name, (c) base type resource page has the Methods table (including base-type-only operations for concrete bases), (d) derived type resource pages have a `## Methods` section with only a polymorphic note (no Methods table — the table lives only on the base type page), (e) `@odata.type` guidance is included in POST/PATCH request body sections
705712

706713
Report any inconsistencies in the final summary to the author.
707714

708715
## Base Quality Checklist
709716

710717
The following checks apply to every documentation scenario. Scenario-specific checklists add additional items on top of these.
711718

719+
> **IMPORTANT:** For each checklist item, re-read the actual file content to confirm — do not check items from memory.
720+
712721
**For all files (new and updated):**
713722
- [ ] All required sections are present and in correct order
714723
- [ ] Headings match the expected format

0 commit comments

Comments
 (0)