Skip to content

Fill and review API documentation#169

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
automation/write-api-docs
Closed

Fill and review API documentation#169
github-actions[bot] wants to merge 1 commit into
mainfrom
automation/write-api-docs

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Automated daily run of the SkiaSharp api-docs skill (format → fill → review → format).

Filled (8 stub placeholders across 4 type files)

Type Member Notes
SKSurface DisposeManaged() Uses sibling SKObject.DisposeManaged template — implemented-by-derived-types convention.
SKImageFilter CreateEmpty() Source-confirmed at binding/SkiaSharp/SKImageFilter.cs:155 (sk_imagefilter_new_empty).
SKImageFilter CreateCrop(SKRect) + 2 overloads Conservative wording from signature + sibling CreateBlur pattern; rect/tileMode/input documented.
SKColorFilter CreateOverdraw(SKColor[]) + ROSpan overload Conservative wording — color count not asserted (signature accepts any length).
SKPaint GetFastBounds(SKRect, out SKRect) Documents the expand-by-effects bounds computation.

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

Severity Count Status
ERROR 0 n/a
WARNING 23 Fixed (1 invalid-cref, 4 repeated-word, 1 spelling, 17 accessor-verb)
Missing-docs (8 stubs) 8 Filled

Machine findings block

FINDING | invalid-cref | SkiaSharp.Views.Tizen.CustomRenderingView | Fixed: added T: prefix to cref
FINDING | repeated-word | SkiaSharp.SKSize.op_Explicit | Fixed: "structure structure" -> "structure"
FINDING | repeated-word | SkiaSharp.SKSize.op_Implicit | Fixed: "structure structure" -> "structure"
FINDING | repeated-word | SkiaSharp.SKSizeI.op_Explicit | Fixed: "structure structure" -> "structure"
FINDING | repeated-word | SkiaSharp.SKColorFilter.CreateBlendMode | Fixed: "mode mode" -> "mode"
FINDING | spelling | SkiaSharp.SKColorspacePrimariesCicp | Fixed: removed quoted "Colour primaries"
FINDING | accessor-verb | SkiaSharp.SKStream.Position | Fixed: settable -> "Gets or sets"
FINDING | accessor-verb | SkiaSharp.SKFrontBufferedStream.Position | Fixed: settable -> "Gets or sets"
FINDING | accessor-verb | SkiaSharp.SKSurfaceProperties.Flags | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKSurfaceProperties.PixelGeometry | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKPngEncoderOptions.FilterFlags | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKPngEncoderOptions.ZLibLevel | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKPath.Convexity | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKPath.Handle | Fixed: settable -> "Gets or sets"
FINDING | accessor-verb | SkiaSharp.SKNativeObject.IgnorePublicDispose | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKNativeObject.IsDisposed | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKWebpEncoderOptions.Compression | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKWebpEncoderOptions.Quality | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKJpegEncoderOptions.AlphaOption | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKJpegEncoderOptions.Downsample | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKJpegEncoderOptions.Quality | Fixed: read-only -> "Gets"
FINDING | accessor-verb | SkiaSharp.SKImageInfo.AlphaType | Fixed: settable -> "Gets or sets"
FINDING | accessor-verb | SkiaSharp.SKBitmap.Pixels | Fixed: settable -> "Gets or sets"

Fixed vs deferred

  • Fixed: all 23 lint findings + all 8 stub placeholders.
  • Deferred: none. Examples were not extended — the new stubs are short conventional methods and adding speculative examples risked reviewer-B (Examples) violations on a same-day run.

Validation

Final dotnet cake --target=docs-format-docs reports 0 finding(s), 0 error(s), Documentation missing in 0/430 types and 0/5022 members.

Generated by Auto API Docs Writer · ● 43.4M ·

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>
@learn-build-service-prod

Copy link
Copy Markdown
Contributor

PoliCheck Scan Report

The 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 found

More information about PoliCheck

Information: PoliCheck | Severity Guidance | Term
For any questions: Try searching the learn.microsoft.com contributor guides or post your question in the Learn support channel.

@learn-build-service-prod

Copy link
Copy Markdown
Contributor

Learn Build status updates of commit 8a8f888:

⚠️ Validation status: warnings

File Status Preview URL Details
SkiaSharpAPI/SkiaSharp.Views.Tizen/CustomRenderingView.xml ⚠️Warning Details
SkiaSharpAPI/HarfBuzzSharp/HBColor.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKBitmap.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKColorFilter.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKColorspacePrimariesCicp.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKFrontBufferedStream.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKImageFilter.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKImageInfo.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKJpegEncoderOptions.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKNativeObject.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPaint.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPath.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPathMeasure.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKPngEncoderOptions.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKSize.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKSizeI.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKStream.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKSurface.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKSurfaceProperties.xml ✅Succeeded
SkiaSharpAPI/SkiaSharp/SKWebpEncoderOptions.xml ✅Succeeded

SkiaSharpAPI/SkiaSharp.Views.Tizen/CustomRenderingView.xml

  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'ElmSharp.Rect'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'ElmSharp.EvasObject'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'ElmSharp.EvasObject'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'ElmSharp.Widget'.
  • Line 0, Column 0: [Warning: xref-not-found - See documentation] Cross reference not found: 'ElmSharp.EvasObject'.

For more details, please refer to the build report.

Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.

@github-actions github-actions Bot closed this Jun 30, 2026
@github-actions github-actions Bot deleted the automation/write-api-docs branch June 30, 2026 09:29
mattleibow added a commit that referenced this pull request Jun 30, 2026
…, 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants