From 9bda3afb856a7fb35f9d8cc3a4abdf1efb716bd2 Mon Sep 17 00:00:00 2001 From: Michael Dieringer <65093775+MichaelDieringer@users.noreply.github.com> Date: Thu, 2 Jul 2026 09:30:18 +0200 Subject: [PATCH] Eet workspace pr. repo - alle andre slettes som stoej Michaels praecisering af workspace-standarden: der findes praecis EET workspace pr. repo - i apps-mappen, efter referencelayoutet (app- projekter + .AL-Go + ../docs). Alle oevrige *.code-workspace-filer, inkl. rodens al.code-workspace, slettes - de er forkerte indgange, og den forkerte bliver brugt. Apps-mappens navnevariant (.apps/Apps/apps) er kosmetik; .apps er referencen. - Regel al-development-must-use-apps-workspace skaerpet: uniqueness- krav; rod-workspacet overlever ikke laengere til plumbing-formaal (aabn repo-mappen direkte til det); AL-Go template-opdateringer der gen-scaffolder rod-workspacet fjernes igen af runden - roemer.agent.md v4: station 9 tjekker begge retninger og har sletnings-autorisation (rapporteres bagefter) - curabis-standard.agent.md v14: Mode B opretter/kompletterer apps- workspacet og sletter alle oevrige Co-Authored-By: Claude Fable 5 --- custom/agents/roemer.agent.md | 14 ++++--- .../al-development-must-use-apps-workspace.md | 38 +++++++++++-------- custom/setup/curabis-standard.agent.md | 5 ++- 3 files changed, 34 insertions(+), 23 deletions(-) diff --git a/custom/agents/roemer.agent.md b/custom/agents/roemer.agent.md index 6bdbd6e..58a93ef 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: 3 +version: 4 title: Rømer — Standards Inspector description: > Owns the uniformity inspection across CURABIS repos: walks one full @@ -81,10 +81,14 @@ Walk ALL stations, every time. A partial round creates false confidence matches the stable SHA; self-heal via the sync script if not. 8. **Agent visibility.** Every deployed agent is referenced in CLAUDE.md (rule `claude-md-must-reference-all-agents`). -9. **Apps workspace.** `.apps/*.code-workspace` (or `Apps/`) exists and its - `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. +9. **One workspace, the right one.** Exactly ONE `*.code-workspace` exists in + the repo, located in the apps folder, and its `folders` include all app + projects, `.AL-Go`, and a relative `docs` entry (rule + `al-development-must-use-apps-workspace`). The standard authorizes silent + correction in both directions: create/complete the apps workspace to the + reference layout, and DELETE every other workspace file (incl. the root + `al.code-workspace` — it is noise, and template updates that re-scaffold + it get removed again on the next round). Report all corrections 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 diff --git a/custom/knowledge/architecture/al-development-must-use-apps-workspace.md b/custom/knowledge/architecture/al-development-must-use-apps-workspace.md index 3bbb3ad..dbd432d 100644 --- a/custom/knowledge/architecture/al-development-must-use-apps-workspace.md +++ b/custom/knowledge/architecture/al-development-must-use-apps-workspace.md @@ -24,9 +24,9 @@ git internals) and none of that context. ## Rule -Daily AL development happens in the workspace under the apps folder — -`.apps/.apps.code-workspace` (or `Apps/` on repos not yet migrated to the -`.apps` layout). That workspace file must contain, as folder entries: +Each repo has **exactly ONE workspace file** — in the apps folder (`.apps/` +is the reference name; `Apps/`/`apps/` variants are cosmetic and accepted). +That workspace file must contain, as folder entries: 1. every AL app project folder (main + test) 2. `.AL-Go` @@ -35,14 +35,18 @@ Daily AL development happens in the workspace under the apps folder — Reference layout (Jernpladsen): folders = Jernpladsen, Jernpladsen.Test, .AL-Go, docs (`../docs`), with `powershell.cwd` set to the test app. -The root `al.code-workspace` remains for repo-plumbing work (workflow edits, -AL-Go settings) — it is not the development workspace. +**All other `*.code-workspace` files — including the root +`al.code-workspace` — are deleted.** They are noise: wrong entry points that +open the repo without the development context. Repo-plumbing work (workflow +edits, AL-Go settings) is done by opening the repo folder directly, not +through a dedicated workspace. Note: an AL-Go template update may re-scaffold +the root workspace file — the inspection round removes it again. ## What NOT to do -- Do not open the root `al.code-workspace` for feature development — specs - and decision records will be out of sight, and out of sight means the work - drifts from what was agreed +- Do not keep the root `al.code-workspace` "for plumbing" — open the repo + folder directly for that; a second workspace is a second entry point, and + the wrong one will be used - Do not add `docs` by copying files into the apps folder — it is ONE folder at repo root, referenced relatively, so specs stay single-sourced - Do not put machine-absolute paths in the workspace file — it is @@ -51,14 +55,16 @@ AL-Go settings) — it is not the development workspace. ## Signal to watch for -Rømer's inspection round: `.apps/*.code-workspace` (or `Apps/*.code-workspace`) -exists, and its `folders` array includes an entry ending in `docs`. A missing -workspace file or a missing docs entry is a finding; the standard authorizes -adding the docs entry as a silent correction (report it afterwards). +Rømer's inspection round, two checks: (1) the apps folder contains a +workspace file whose `folders` include all app projects, `.AL-Go` and a +relative `docs` entry; (2) NO other `*.code-workspace` exists anywhere else +in the repo. The standard authorizes both corrections silently: create or +complete the apps workspace to the reference layout, and delete every other +workspace file — report both afterwards. ## Message to developer -When a developer is working in the root workspace or the apps workspace lacks -the docs folder, tell them: daily development belongs in -`.apps/.apps.code-workspace`, which must include the app projects, `.AL-Go` -and `../docs` — offer to add the missing docs entry now. +When the apps workspace is missing/incomplete or extra workspace files exist, +tell the developer: the standard is exactly one workspace — +`.apps/.apps.code-workspace` with app projects, `.AL-Go` and `../docs`; the +extra workspace files are noise and have been removed (list them). diff --git a/custom/setup/curabis-standard.agent.md b/custom/setup/curabis-standard.agent.md index ee40c81..a44916e 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: 13 +version: 14 title: CURABIS Standard — Project Setup description: > Configures a new or existing repository to the CURABIS Standard development @@ -542,7 +542,8 @@ Never touches `CLAUDE.md`, `projectmemory/`, `docs/`, or `~/.bc-mcp.config.json` | `.mcp.json` — `al` entry | Add if `find-altool.ps1` now exists and entry is missing | | `.mcp.json` — `businesscentral` path | Validate and correct if wrong (see below) | | `.mcp.json` — `al` `-File` path | Validate and correct if wrong (see below) | -| `.apps/*.code-workspace` — `docs` entry | Validate folders incl. relative `../docs`; add if missing (rule `al-development-must-use-apps-workspace`) | +| `.apps/*.code-workspace` — reference layout | Create/complete: app projects + `.AL-Go` + relative `../docs` (rule `al-development-must-use-apps-workspace`) | +| Alle øvrige `*.code-workspace` (inkl. rodens `al.code-workspace`) | Delete — kun ét workspace pr. repo; rapportér de slettede | | `HEARTBEAT.md` | Create from template if missing (substitute tokens), never overwrite | | `docs/specs/`, `docs/decisions/`, `docs/cleanup/` | Create if missing, never overwrite content |