Skip to content

Knowledge/bc mcp scope tasks to repo#60

Closed
MichaelDieringer wants to merge 21 commits into
microsoft:mainfrom
Curabis:knowledge/bc-mcp-scope-tasks-to-repo
Closed

Knowledge/bc mcp scope tasks to repo#60
MichaelDieringer wants to merge 21 commits into
microsoft:mainfrom
Curabis:knowledge/bc-mcp-scope-tasks-to-repo

Conversation

@MichaelDieringer

Copy link
Copy Markdown

No description provided.

MichaelDieringer and others added 21 commits June 13, 2026 13:46
- Invoke-CurabisEval.ps1: general compile + analyzers quality eval (hill-climbing score,
  reads each project's own al.codeAnalyzers + ruleset, logs .eval/history.jsonl).
- Invoke-CurabisEvidence.ps1: citation evidence validator that fails on hallucinated
  knowledge-file or CURABIS rule-code references (cite-or-flag enforcement).
- README documenting both.

Fetched by Setup-CurabisAppSource.ps1 into each project's scripts folder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rules derived from BC MCP API page development experience:

- api-page-flowfields-must-be-calcfields: FlowFields return empty on API
  pages unless explicitly CalcFields'd in OnAfterGetRecord
- stored-derived-fields-must-not-be-exposed-directly: Stored fields updated
  only via OnValidate triggers can be stale; recalculate live in OnAfterGetRecord
- api-page-key-fields-must-be-editable-on-insert: ODataKeyFields with
  Editable=false are rejected as unknown properties on POST
- api-page-least-privilege-write-access: Create dedicated minimal pages per
  write concern rather than widening general-purpose pages
- agent-must-not-write-business-process-status: Agents must only write
  developer-tracking fields; business status fields affect invoicing/time registration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- test-one-when-per-test: one WHEN per test, split if multiple actions
- ui-test-codeunit-naming: _UT suffix for TestPage-based codeunits
- test-feature-scenario-tags: [FEATURE]/[SCENARIO] comment structure

Based on patterns from Automatiserede tests med Business Central (Dieringer).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When a developer asks for open tasks, only return tasks from the project(s)
linked to the current git repository. Flag it if no project is linked.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Deploys carlin.agent.md to all CURABIS projects via curabis-standard.
Carlin surfaces with one dry observation when complexity, vague requirements,
or feature creep earns it. Named after the CURABIS Kick-off 2026 Lego duck
exercise.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

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

  • 📁 .altestrunner/ (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.

@github-actions

Copy link
Copy Markdown

Hey @MichaelDieringer 👋

First off — thank you for jumping in and experimenting! It's awesome to see people pushing on the framework. 🎉

That said, let me gently redirect you, because I think there's a small but important misunderstanding about how the custom layer is meant to work:

The custom layer in this repo isn't a destination for PRs — it's the designated sandbox inside your own fork. Think of it as the "your timeline" branch of the multiverse 🌌: this repo is canon, your fork is where you get to remix the lore without needing anyone's approval. That's the whole point of the layer existing — so you don't have to upstream your team-specific or experimental work.

The intended workflow is:

  1. 🍴 Fork BCQuality to your own GitHub account
  2. Clone your fork locally
  3. Drop your custom agents and knowledge into the custom layer there
  4. Commit and push to your fork — no PR back to upstream needed for custom stuff

That way you get full control, your changes survive upstream updates cleanly, and you can pull in new core releases from this repo whenever you want. ✨

Now — here's the fun part: if while building out your fork you discover knowledge, patterns, or agents that you think would genuinely benefit everyone using BCQuality (not just your team), that's exactly what the /community layer is for! 🌟 PRs to /community here in the upstream repo are absolutely welcome and encouraged — it's how the collective hive mind 🧠 levels up. So please: tinker in your fork, and when you strike gold that's worth sharing, send it our way via /community.

Going to close this PR for now (since it's targeting custom rather than /community), but please don't read it as a "no" — it's a "yes, but let's route it correctly." 🙏 Happy to help if you hit any snags spinning up your fork, and genuinely looking forward to seeing what you contribute to /community down the line.

Files in this PR that triggered the auto-close
  • custom/knowledge/architecture/al-identifiers-must-be-english.md
  • custom/knowledge/architecture/clarify-before-building.md
  • custom/knowledge/architecture/commit-message-must-include-bc-task-id.md
  • custom/knowledge/architecture/exposed-objects-must-be-in-a-permission-set.md
  • custom/knowledge/architecture/namespace-must-be-verified-from-source.md
  • custom/knowledge/architecture/new-file-requires-vscode-refresh.md
  • custom/knowledge/architecture/pages-must-not-contain-business-logic.md
  • custom/knowledge/architecture/shared-project-memory-must-be-in-repo.md
  • custom/knowledge/architecture/xliff-translation-workflow.md
  • custom/knowledge/mcp/agent-must-not-write-business-process-status.md
  • custom/knowledge/mcp/api-page-flowfields-must-be-calcfields.md
  • custom/knowledge/mcp/api-page-key-fields-must-be-editable-on-insert.md
  • custom/knowledge/mcp/api-page-least-privilege-write-access.md
  • custom/knowledge/mcp/bc-mcp-find-active-task-for-branch.md
  • custom/knowledge/mcp/bc-mcp-scope-tasks-to-repository.md
  • custom/knowledge/mcp/stored-derived-fields-must-not-be-exposed-directly.md
  • custom/knowledge/testing/test-data-must-be-random-and-complete.md
  • custom/knowledge/testing/test-feature-scenario-tags.md
  • custom/knowledge/testing/test-one-when-per-test.md
  • custom/knowledge/testing/test-setup-must-use-library-codeunit.md
  • custom/knowledge/testing/tests-must-adapt-to-existing-code.md
  • custom/knowledge/testing/ui-test-codeunit-naming.md
  • custom/scripts/Invoke-CurabisEval.ps1
  • custom/scripts/Invoke-CurabisEvidence.ps1
  • custom/scripts/README.md
  • custom/setup/bc-mcp-bridge.js
  • custom/setup/curabis-standard.agent.md
  • custom/setup/machine/CLAUDE.md
  • custom/setup/machine/bc-mcp.config.template.json
  • custom/setup/templates/bcquality.agent.md
  • custom/setup/templates/carlin.agent.md
  • custom/setup/templates/cspell.json
  • custom/setup/templates/immanuel.agent.md

May your merges be conflict-free. 🚀


🤖 This PR was closed automatically by the Guard custom layer workflow because it adds or changes content under /custom/. If you were only updating the template (custom/README.md or a .gitkeep), a maintainer can re-open it. If you think this was closed in error, just comment here.

@github-actions github-actions Bot closed this Jun 28, 2026
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