Skip to content

Add the "develop" half: generation output contract, scaffolding skills, golden templates, and anti-hallucination reference #34

Description

@JesperSchulz

Context

Today every skill in BCQuality is a reviewer, and skills/do.md defines findings-report as the only output kind. To become the "one-stop shop" that lets agents — especially cheap/fast models — develop BC apps (not just review them), BCQuality needs a generative half. This is the foundational issue of the initiative; the testing/telemetry/etc. issues depend on the generation contract landing here.

Why it matters (admission test)

Cheap models fail mostly by hallucinating structure and signatures. Golden templates + curated reference knowledge convert "invent the skeleton" into "fill a known-good skeleton," which is exactly where small models win or lose.

Scope / checklist

Output contract & skills

  • Define a generation output contract (e.g. generation-result) alongside findings-report in skills/do.md. ⚠️ Contract change — requires both-maintainer approval per the README.
  • Add authoring/scaffolding action skills under microsoft/skills/author/: new table & table extension, page/page extension, API page, permission set, install codeunit, upgrade codeunit, interface, event subscriber, report.
  • Teach Entry to route "generate/scaffold" goals to these skills.

Golden templates & project conventions

  • app.json schema knowledge: idRanges, dependencies, platform/application/runtime versions, features, target.
  • Object file naming (<Name>.<Type>.al), object-ID ranges, affixes/prefix, folder layout, .alpackages/symbols, rulesets.

Anti-hallucination platform reference (application-object reference lives in the functional-domains issue)

  • Curated signatures + semantics of core platform methods: FindSet/SetLoadFields/CalcFields/CalcSums, InStream/OutStream/Blob, JsonObject/JsonToken/JsonArray, HttpClient/HttpContent.

New knowledge domains needed to generate well (currently uncovered)

  • Error handling — ErrorInfo, collectible & actionable errors, IsHandled pattern.
  • Interfaces & enum-with-implementation.
  • Events & subscribers — publishing integration/business events, manual vs static, IsHandled.
  • Pages/Reports deep — current actionref/promoted-action syntax (old training data is wrong), ControlAddin, RDLC/Word layouts, request pages.
  • Data types — streams/Blob, DateFormula, Decimal rounding, XMLport.
  • Web services / APIv2 — bound actions, [ServiceEnabled], query objects, OData.

Out of scope

Pipelines, AppSource, telemetry, testing, and functional patterns are tracked in their own issues.


Each new knowledge file must pass the README admission test and the CI-validated frontmatter schema.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions