diff --git a/custom/agents/roemer.agent.md b/custom/agents/roemer.agent.md index 3061781..6bdbd6e 100644 --- a/custom/agents/roemer.agent.md +++ b/custom/agents/roemer.agent.md @@ -1,7 +1,7 @@ --- kind: action-skill id: curabis-standards-inspector -version: 2 +version: 3 title: Rømer — Standards Inspector description: > Owns the uniformity inspection across CURABIS repos: walks one full @@ -85,6 +85,14 @@ Walk ALL stations, every time. A partial round creates false confidence `folders` include all app projects, `.AL-Go`, and a relative `docs` entry (rule `al-development-must-use-apps-workspace`). The standard authorizes adding a missing docs entry as a silent correction; report it afterwards. +10. **AL-Go template layout.** An apps folder exists containing one project + subfolder per app (each with `app.json`), plus `.AL-Go/` (rule + `al-go-template-layout-with-test-app-required`). Flat layout — AL source + at repo root — is a structural flag: tests cannot be created until the + repo is migrated. Report-only; migration is never a silent correction. +11. **Test app per main app.** Every main app project has a `.Test` + companion (same rule). Missing on a template-compliant repo = one + `CreateTestApp` workflow run, not a migration. Report-only. ## Safety rules diff --git a/custom/knowledge/architecture/al-go-template-layout-with-test-app-required.md b/custom/knowledge/architecture/al-go-template-layout-with-test-app-required.md new file mode 100644 index 0000000..58dd430 --- /dev/null +++ b/custom/knowledge/architecture/al-go-template-layout-with-test-app-required.md @@ -0,0 +1,64 @@ +--- +bc-version: [all] +domain: architecture +keywords: [al-go, template, layout, test-app, migration, structural-readiness, flags] +technologies: [al] +countries: [w1] +application-area: [all] +--- + +# AL-Go template layout with a test app is required + +## Description + +CURABIS repos must follow the AL-Go template layout: an apps folder +(`.apps/`, reference form) containing one project folder per app, a +`.AL-Go/` settings folder, and an apps-level workspace file. Repos that +predate the template — AL source flat in the repo root — cannot run AL-Go's +`CreateTestApp` workflow, which means **no test cases can be created**, which +means the repo is outside the quality standard entirely: no tests, no eval +floor, no BCQuality review evidence. + +A 2026-07-02 portfolio inventory (29 repos) found 3 customer-relevant flat +repos blocked from test creation, and 11 template-compliant repos that simply +had no test app yet (one `CreateTestApp` workflow run each — not a migration). + +## Rule + +1. Every CURABIS repo follows the AL-Go template layout: apps folder with one + project per app, `.AL-Go/`, and an apps-level `*.code-workspace` (see + `al-development-must-use-apps-workspace` for its required content). +2. Every main app has a test app companion (`.Test`) so test cases can + be written from day one. +3. **When BCQuality is implemented on a repo (CURABIS Standard Mode A) or + updated (Mode B), the structural flags are raised immediately** — Rømer's + inspection round includes these stations, and setup reports the findings + before configuration proceeds. A repo may be configured while + non-compliant, but never silently: the flags go in the setup report. +4. Structural findings are report-only. Migration from flat layout is a + deliberate, planned change (data in `app.json`, pipelines, workspace) — + never a silent correction. + +## What NOT to do + +- Do not attach BCQuality to a repo without reporting its structural state — + a configured repo that cannot host tests gives false confidence +- Do not silently restructure a repo during setup or update +- Do not treat a missing test app in a template-compliant repo as a + migration case — it is one `CreateTestApp` workflow run +- Do not write new AL features in a flat repo without flagging that tests + cannot accompany them + +## Signal to watch for + +Rømer's inspection round: no apps folder containing `app.json` project +subfolders (flat layout — blocked), or a main app project without a matching +`*.Test` project (missing test app — one workflow run). + +## Message to developer + +When a structural gap is found during BCQuality implementation or update, +report before proceeding: this repo is on flat/pre-template layout (tests +cannot be created until it is migrated to the AL-Go template) — or: this repo +lacks a test app for ; run AL-Go's CreateTestApp workflow. Configuration +may continue, but the flag stands in the report until resolved. diff --git a/custom/setup/curabis-standard.agent.md b/custom/setup/curabis-standard.agent.md index 2567a0f..ee40c81 100644 --- a/custom/setup/curabis-standard.agent.md +++ b/custom/setup/curabis-standard.agent.md @@ -1,7 +1,7 @@ --- kind: action-skill id: curabis-standard-setup -version: 12 +version: 13 title: CURABIS Standard — Project Setup description: > Configures a new or existing repository to the CURABIS Standard development @@ -96,6 +96,27 @@ Check whether these paths exist: If `CLAUDE.md` already exists, ask: "CLAUDE.md eksisterer allerede. Overskrive? (ja/nej)" Stop if the developer answers no. +### Step 1b — Structural readiness: raise the flags (Rømer) + +Before configuring anything, run Rømer's structural stations (10-11 in +`roemer.agent.md` — rule `al-go-template-layout-with-test-app-required`): + +1. AL-Go template layout: apps folder with per-app project subfolders + `.AL-Go/` +2. Test app companion for every main app + +Report every finding immediately and prominently: + +``` +⚠️ Strukturflag ved BCQuality-implementering: + + - + - : kør CreateTestApp-workflowet> +``` + +Setup MAY continue on a non-compliant repo — but the flags go in the setup +report, and the developer must acknowledge them before Step 2. Never +restructure silently; migration is a deliberate, planned change. + ### Step 2 — Ask exactly three questions Do not proceed until all three are answered.