Skip to content

Add bounded AL code generation skill contracts#103

Closed
JesperSchulz wants to merge 2 commits into
mainfrom
jesperschulz-add-al-generation-skill
Closed

Add bounded AL code generation skill contracts#103
JesperSchulz wants to merge 2 commits into
mainfrom
jesperschulz-add-al-generation-skill

Conversation

@JesperSchulz

Copy link
Copy Markdown
Contributor

Summary

  • add the stable Microsoft al-code-generation leaf and a separate generation-only plugin bridge
  • publish strict requirement-spec v1 and generated-files-report v1 JSON Schemas with parseable examples
  • add explicit Entry action/output negotiation, index-only deterministic retrieval, complete coverage/omission reporting, and create-only artifact invariants
  • extend the repository validator with schema, semantic, routing, path, duplicate, overwrite, ID-range, size, reference, and bridge-isolation tests

Backward compatibility

Legacy review contexts remain unchanged: callers without action or accepted-outputs continue to negotiate findings-report v1. Generation requires explicit action: generate, requirement-spec, and acceptance of generated-files-report v1. Mixed review/generation inputs without action fail as ambiguous. Existing review bridge behavior is unchanged, and current BCAppsBCQuality remains generation-ineligible because it does not advertise the new capabilities.

Consumer dependency and rollout

This PR produces contracts and create-only reports; it does not materialize files. Consumers must implement strict atomic runtime validation plus independent symlink, destination, byte-size, and ID-range enforcement before staging. Follow-up consumer stages are strict parser fixtures, a dry-run patch artifact, isolated compile/analyze/test validation, and an environment-approved draft PR. Delivery, approval, and publishing remain consumer-owned.

Validation

  • repository validator and integrated 14-case generation contract/routing suite
  • deterministic knowledge-index test (230 articles)
  • malformed JSON, unsafe paths including dot-segment aliases, duplicate/non-create requests, ID ranges, UTF-8 byte sizes, output parsing, immutable references, and plugin intent isolation
  • independent semantic audit and final code review
  • clean diff check

Jesper Schulz-Wedde added 2 commits July 14, 2026 13:43
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: bd6344b4-eafd-4a58-a1c9-5a2d96fa2938
Keep the existing workflow unchanged while making schema validation self-contained when jsonschema is unavailable.

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

Copilot-Session: bd6344b4-eafd-4a58-a1c9-5a2d96fa2938
@github-actions

Copy link
Copy Markdown

👋 Heads up @JesperSchulz — and cc maintainers — this PR introduces new top-level entries that aren't part of BCQuality's known repository structure:

  • 📁 schemas/ (new top-level folder)

This isn't a block — just a flag. 🚩 New top-level folders and files are usually unintended (a stray export, a tool's scratch dir, or content that meant to land inside an existing layer like /community/knowledge/). BCQuality keeps a deliberately small root: .github/, community/, custom/, microsoft/, skills/, and tools/, plus a handful of root docs.

If this was intentional and the new entry genuinely belongs at the repo root, a maintainer can review and merge as normal — no action needed beyond a quick sanity check. If it wasn't, please move the content into the right existing layer (or drop it) and push an update. 🙏

A maintainer will take a look before merging.

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