Skip to content

Authoring pilot: al-api-page-author skill + code-artifact output kind#61

Open
JesperSchulz wants to merge 1 commit into
mainfrom
jesperschulz-jesperschulz-author-api-page-pilot
Open

Authoring pilot: al-api-page-author skill + code-artifact output kind#61
JesperSchulz wants to merge 1 commit into
mainfrom
jesperschulz-jesperschulz-author-api-page-pilot

Conversation

@JesperSchulz

Copy link
Copy Markdown
Contributor

Summary

This is the first authoring action skill for BCQuality. Every action skill today is a review skill that consumes a diff and emits a findings-report; this PR adds the authoring half — a skill that consumes an abstract spec and generates Business Central AL code.

The pilot is an API-page author: given an object-spec (target table, entity naming, fields to expose, read-only flag), it generates a correct PageType = API page applying the existing curated web-services API guidance.

What's in this PR

  • microsoft/skills/author/al-api-page-author.md (new author/ family) — a leaf authoring skill mirroring the canonical al-web-services-review Source → Relevance → Worklist → Action → Output shape, but emitting generated AL. It applies the existing web-services knowledge (required API properties, SystemId-as-key, read-only lockdown, committed-data reads, bound actions, additive versioning) and emits unresolved spec ambiguities as open-questions / per-artifact notes with clearly-labeled placeholders rather than invented values.
  • skills/do.md (⚠️ stable contract change — requires both-maintainer approval) — additive only, the existing findings-report schema is untouched:
    • Adds object-spec to the standard inputs and defines it (abstract description of the BC object(s) to generate, supplied by the orchestrator for authoring tasks).
    • Updates outputs prose to state two output kinds are defined — findings-report (review) and code-artifact (authoring) — keeping the single-element list.
    • Adds a new ### Code-artifact output (authoring skills) subsection: a JSON schema that reuses the findings-report envelope (skill, outcome enum, outcome-reason, JSON-validity/escaping rules, suppressed, sub-results, skipped-sub-skills) and swaps findings/counts for artifacts/open-questions, with field semantics for artifacts[].content (full AL as one escaped JSON string), path, references (empty ⇒ confidence capped at medium, mirroring the additive agent-findings principle), notes, and open-questions. Documents that a code-artifact maps to file creation/scaffolding rather than PR comments.
  • .github/scripts/validate_frontmatter.py — allow-list updates only, no rule-logic changes: object-spec added to STANDARD_INPUTS (R17 no longer warns) and code-artifact added to ALLOWED_OUTPUTS (R18 no longer errors).
  • README.md / agent-consumption.md — minimal docs: note that the action-skill family also includes an author group that generates code (emitting code-artifact), with al-api-page-author.md as the first example; mermaid diagram unchanged.

No duplicated knowledge

This pilot reuses the existing microsoft/knowledge/web-services/* articles — no new knowledge articles were added (curating duplicates would fail the repo's remedial-admission test). Article count is unchanged.

Note: the local index reports 192 articles before and after this change (the task brief referenced 191; the invariant — no knowledge articles added, count unchanged — holds regardless of the exact baseline).

Validation

  • python .github/scripts/validate_frontmatter.py --root .0 errors / 0 warnings
  • pwsh .github/scripts/Test-KnowledgeIndex.ps1 -Root .PASSED, 192 articles, deterministic, full coverage (unchanged)
  • pwsh ./tools/Build-KnowledgeIndex.ps1 → builds, 192 articles
  • R26 unaffected — the author skill lives in author/, is not an al-*-review.md leaf, and is not registered in al-code-review.md sub-skills.

Do not merge — opening for review.

Add the first authoring action skill (al-api-page-author) and extend the
stable DO contract with a second output kind (code-artifact) plus the
object-spec input. Reuses existing web-services API knowledge with no new
knowledge articles; article count unchanged.

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.

1 participant