Fill and review API documentation#169
Conversation
Fill 8 `To be added.` placeholders introduced by stub regen: SKSurface.DisposeManaged, SKImageFilter.CreateEmpty + 3 CreateCrop overloads, 2 SKColorFilter.CreateOverdraw overloads, SKPaint.GetFastBounds. Fix 23 lint findings across 16 type files (1 invalid-cref, 4 repeated-word, 1 spelling, 17 accessor-verb). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PoliCheck Scan ReportThe following report lists PoliCheck issues in PR files. Before you merge the PR, you must fix all severity-1 and severity-2 issues. The AI Review Details column lists suggestions for either removing or replacing the terms. If you find a false positive result, mention it in a PR comment and include this text: #policheck-false-positive. This feedback helps reduce false positives in future scans. ✅ No issues foundMore information about PoliCheckInformation: PoliCheck | Severity Guidance | Term |
|
Learn Build status updates of commit 8a8f888:
|
…, thin trigger (#155) Harden auto-api-docs-writer: single Opus 4.7 agent, branch-safe clone, thin trigger (#155) Context: runs the api-docs skill from mono/SkiaSharp#4242 (skill is the source of truth) Hardens and simplifies the `auto-api-docs-writer` agentic (gh-aw) workflow so it reliably formats, fills, reviews, and opens a PR for API docs without clobbering branches or duplicating the docs tree. The workflow now carries only gh-aw wiring; the how-to-write-docs procedure lives in the skill. ~~ Single agent on Opus 4.7 ~~ engine.model -> claude-opus-4.7, and one agent does add + review + fix + validate + PR. The gh-aw sandbox does not honor per-sub-agent model routing (the task tool's model param is not plumbed to the API call — verified via the api-proxy token-usage log), so the multi-agent fan-out only added complexity and a no-PR failure mode when a terminal "fixer" sub-agent was backgrounded at end of turn. ~~ Branch safety and clone hygiene ~~ The host prepares a dedicated throwaway PR branch before the agent runs, so the agent never commits on (and recreate_ref never clobbers) the dispatch ref. The SkiaSharp clone uses --no-recurse-submodules + rm -rf + a file-count assertion and echoes the resolved HEAD, and the docs-tree symlink duplication is eliminated (workspace == linked) so the lint scans each file once. Git is quieted in the agent run. ~~ Configurable refs ~~ Adds workflow_dispatch inputs skiasharp_branch (where the skill lives), docs_base_branch (default main), and docs_head_branch (default automation/write-api-docs). The primary checkout and stub regeneration both pin to docs_base_branch (via FETCH_HEAD, so arbitrary/shallow branches work) and the PR targets it — keeping base, working tree, and stubs in agreement instead of reviewing the wrong base when dispatched on a feature branch. ~~ Cleanup ~~ Slims the workflow to a thin trigger, removes the stale review_scope input and the obsolete-in-example prompt line that the skill no longer collects, points skill references at the collapsed layout, and unstages generated files (index.xml, ns-*.xml, _filter.xml, FrameworksIndex/) that stub regeneration rewrites so they stay out of the PR. Validated on CI: two consecutive runs produced clean PRs (#168, #169) — dedup held, host gate 0 errors, agent ran format-first / source-first / three reviewers / no build, and MS Learn OpenPublishing reported Errors:0. Co-authored-by: Matthew Leibowitz <mattleibow@live.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
Automated daily run of the SkiaSharp api-docs skill (format → fill → review → format).
Filled (8 stub placeholders across 4 type files)
SKSurfaceDisposeManaged()SKObject.DisposeManagedtemplate — implemented-by-derived-types convention.SKImageFilterCreateEmpty()binding/SkiaSharp/SKImageFilter.cs:155(sk_imagefilter_new_empty).SKImageFilterCreateCrop(SKRect)+ 2 overloadsCreateBlurpattern; rect/tileMode/input documented.SKColorFilterCreateOverdraw(SKColor[])+ ROSpan overloadSKPaintGetFastBounds(SKRect, out SKRect)Reviewed (16 type files for lint fixes)
Ran reviewers A/B/C on every touched file. Findings: only summary/value text changes on existing properties (no example/cref changes). No obsolete-member usage introduced. No new examples added (the new stubs are conventional and short; no example fits without speculation).
Findings summary
Machine findings block
Fixed vs deferred
Validation
Final
dotnet cake --target=docs-format-docsreports0 finding(s), 0 error(s),Documentation missing in 0/430 types and 0/5022 members.