Merge current main into development guidance

Resolve the README scope conflict, align guidance validation with the 333-article corpus, and reject failed reports that carry unreliable knowledge constraints.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 638b66d2-9f06-4f60-8781-808709e1485c
This commit is contained in:
Jesper Schulz-Wedde 2026-09-21 10:34:58 +02:00
commit 5793996e55
91 changed files with 2696 additions and 24 deletions

View file

@ -94,14 +94,16 @@ try {
'microsoft/skills/review/al-query-review.md',
'microsoft/skills/review/al-reporting-review.md',
'microsoft/skills/review/al-appsource-review.md',
'microsoft/skills/review/al-telemetry-review.md'
'microsoft/skills/review/al-telemetry-review.md',
'microsoft/skills/review/al-scm-review.md',
'microsoft/skills/review/al-finance-review.md'
)
$review = @($skills | Where-Object id -eq 'al-code-review')
if ($review.Count -ne 1) {
throw "Expected exactly one al-code-review record, found $($review.Count)."
}
if ((@($review[0].subSkills) -join "`n") -cne ($expectedLeaves -join "`n")) {
throw 'al-code-review subSkills did not preserve the declared 17-leaf order.'
throw "al-code-review subSkills did not preserve the declared $($expectedLeaves.Count)-leaf order."
}
foreach ($leafPath in $expectedLeaves) {
$leaf = @($skills | Where-Object path -ceq $leafPath)
@ -154,6 +156,17 @@ try {
throw 'Minimal development-guidance report does not satisfy schemas/development-guidance-report.schema.json.'
}
$failedGuidanceReport = $minimalGuidanceReport | ConvertFrom-Json
$failedGuidanceReport.outcome = 'failed'
$failedGuidanceReport | Add-Member -NotePropertyName 'outcome-reason' -NotePropertyValue 'Retrieval failed.'
if (($failedGuidanceReport | ConvertTo-Json -Depth 10) | Test-Json -SchemaFile $guidanceReportSchema -ErrorAction SilentlyContinue) {
throw 'A failed development-guidance report with knowledge must not satisfy its JSON schema.'
}
$failedGuidanceReport.knowledge = @()
if (-not (($failedGuidanceReport | ConvertTo-Json -Depth 10) | Test-Json -SchemaFile $guidanceReportSchema -ErrorAction Stop)) {
throw 'A failed development-guidance report with empty knowledge must satisfy its JSON schema.'
}
$minimalReport = @{
skill = @{ id = 'al-style-review'; version = 1 }
outcome = 'completed'
@ -283,4 +296,4 @@ finally {
Remove-Item -LiteralPath $tmp -Recurse -Force -ErrorAction SilentlyContinue
}
Write-Output 'Skill-index check PASSED: deterministic, schema-valid, and all 17 review leaves preserved in order.'
Write-Output "Skill-index check PASSED: deterministic, schema-valid, and all $($expectedLeaves.Count) review leaves preserved in order."