Michael Dieringer
37eac65805
Merge pull request #67 from Curabis/rule/upgrade-codeunit-subtype-full-six-triggers
...
[BCQuality] Fix: document all 6 upgrade triggers, not just 2
2026-08-13 08:14:06 +02:00
Michael Dieringer
f120ca7960
Merge pull request #68 from Curabis/rule/source-organized-by-feature-not-object-type
...
[BCQuality] AL source organized by feature, not object type
2026-08-13 08:13:42 +02:00
Michael Dieringer
eda9bc1e67
Merge pull request #69 from Curabis/rule/upgrade-tag-logic-must-not-nest-deeply
...
[BCQuality] Upgrade tag logic must not nest more than 2 levels deep
2026-08-13 08:13:19 +02:00
Michael Dieringer
06f417b37e
Merge pull request #66 from Curabis/rule/testcase-must-fail-before-implementation-sharpen-fgwt
...
[BCQuality] Sharpen TDD rule: 1-to-n FGWT scenarios + reject test-on-request alternative
2026-08-13 08:13:05 +02:00
Michael Dieringer
7e703b93d5
Forslag: upgrade-tag-logic-must-not-nest-deeply
2026-08-13 08:11:54 +02:00
Michael Dieringer
603176f593
Forslag: source-organized-by-feature-not-object-type
2026-08-13 08:11:53 +02:00
Michael Dieringer
b335164b49
Ret: dokumentér alle 6 upgrade-triggers, ikke kun 2
2026-08-13 08:10:20 +02:00
Michael Dieringer
90eeb1991c
Skaerp: 1-til-n FGWT scenarier + explicit afvisning af 'test kun paa anmodning'
2026-08-13 08:08:30 +02:00
Michael Dieringer
0c148a16a6
Merge pull request #65 from Curabis/rule/setup-page-onopenpage-must-instantiate-singleton
...
[BCQuality] Sharpen: Setup-page OnOpenPage must instantiate the singleton record
2026-08-13 07:39:23 +02:00
Michael Dieringer
16f3cd0aee
Sharpen: Setup-page OnOpenPage must instantiate the singleton record
2026-08-13 07:38:53 +02:00
Michael Dieringer
14ac4485c8
Merge pull request #64 from Curabis/rule/al-comments-must-not-restate-what-code-already-shows
...
Forslag: AL-kommentarer maa ikke bare genfortaelle koden
2026-08-13 07:19:09 +02:00
Michael Dieringer
3df1d630d4
Forslag: AL-kommentarer maa ikke bare genfortaelle koden
2026-08-13 07:18:15 +02:00
Michael Dieringer
46fcd29f3a
Merge pull request #63 from Curabis/rule/given-blocks-must-cover-full-precondition-chain
...
[BCQuality] GIVEN blocks must cover the full precondition chain for posting/report tests
2026-08-13 07:17:29 +02:00
Michael Dieringer
a74b8e35f3
Forslag: GIVEN-blokke skal daekke hele precondition-kaeden for posting/rapporter
2026-08-13 07:14:01 +02:00
Michael Dieringer
13c7d4e198
Merge pull request #61 from Curabis/rule/file-datatype-direct-io-is-onprem-only
...
[BCQuality] File data type's direct I/O methods are OnPrem-only
2026-08-13 07:02:24 +02:00
Michael Dieringer
31d1c6d10b
Merge pull request #62 from Curabis/rule/prefer-email-module-over-codeunit-mail-397
...
[BCQuality] New email-sending code should use the Email module, not Codeunit Mail (397)
2026-08-13 07:02:02 +02:00
Michael Dieringer
860f2db01b
Forslag: prefer-email-module-over-codeunit-mail-397
2026-08-13 06:56:40 +02:00
Michael Dieringer
10af99bb22
Forslag: file-datatype-direct-io-is-onprem-only
2026-08-13 06:56:39 +02:00
Michael Dieringer
6874adb4e9
Merge pull request #60 from Curabis/rule/dimension-support-must-follow-dimensionmanagement-wiring-pattern
...
[BCQuality] Dimension support must follow the DimensionManagement wiring pattern
2026-08-13 06:32:48 +02:00
Michael Dieringer
0d578e9f3d
Forslag: dimension-support skal foelge DimensionManagement-wiring-moensteret
2026-08-13 06:31:46 +02:00
Michael Dieringer
2f575ced25
Merge pull request #59 from Curabis/rule/posting-routines-must-follow-check-post-line-batch-pattern
...
[BCQuality] Posting routines must follow the Check Line/Post Line/Post Batch pattern
2026-08-13 06:27:55 +02:00
Michael Dieringer
7e70c4aa5d
Forslag: posting-rutiner skal foelge Check Line/Post Line/Post Batch-moensteret
2026-08-13 06:25:20 +02:00
Michael Dieringer
4bb14fb821
Merge pull request #48 from Curabis/rule/table-design-must-match-bc-table-type-conventions
...
[BCQuality] BC table-type conventions (naming, primary key, pages)
2026-08-13 06:09:42 +02:00
Michael Dieringer
10ff2449f6
Merge pull request #49 from Curabis/rule/page-design-must-match-bc-page-type-conventions
...
[BCQuality] BC page-type conventions (naming, structure, links)
2026-08-13 06:09:26 +02:00
Michael Dieringer
fba0ff2a26
Merge pull request #50 from Curabis/rule/intrinsic-al-functions-must-use-modern-casing
...
[BCQuality] Intrinsic AL function calls use modern casing, not ALL-CAPS
2026-08-13 06:09:02 +02:00
Michael Dieringer
d7001e0e23
Merge pull request #51 from Curabis/rule/binary-choice-must-be-boolean
...
[BCQuality] Binary yes/no choices must be Boolean, not Option/Integer
2026-08-13 06:08:37 +02:00
Michael Dieringer
9d4126ac34
Merge pull request #52 from Curabis/rule/fixed-choice-set-must-use-enum-not-integer
...
[BCQuality] Fixed choice sets must use Enum, not raw Integer
2026-08-13 06:08:10 +02:00
Michael Dieringer
87c7b6aaa2
Merge pull request #53 from Curabis/rule/variable-names-must-be-semantically-descriptive
...
[BCQuality] Variable names must be semantically descriptive, not type+number
2026-08-13 06:07:44 +02:00
Michael Dieringer
be75cf8e70
Merge pull request #54 from Curabis/rule/var-parameters-require-an-addressable-variable
...
[BCQuality] var parameters require an addressable variable, not a literal
2026-08-13 06:07:16 +02:00
Michael Dieringer
336fca3d10
Merge pull request #55 from Curabis/rule/code-must-not-change-workdate
...
[BCQuality] Application code must not change the WorkDate
2026-08-13 06:06:57 +02:00
Michael Dieringer
c79908a695
Merge pull request #56 from Curabis/rule/ambiguous-record-failure-handling-must-be-clarified
...
[BCQuality] Ambiguous record-failure handling must be clarified, not guessed
2026-08-13 06:06:28 +02:00
Michael Dieringer
5e55e5b197
Merge pull request #57 from Curabis/rule/document-reports-should-default-to-word-layout
...
[BCQuality] Document reports should default to Word layout, not RDLC
2026-08-13 06:05:56 +02:00
Michael Dieringer
2767d0a8c3
Merge pull request #58 from Curabis/rule/pictures-must-use-media-not-blob
...
[BCQuality] Pictures must use Media/MediaSet, not BLOB
2026-08-13 06:05:40 +02:00
Michael Dieringer
c14a7189c8
Forslag: billeder skal gemmes i Media/MediaSet, ikke BLOB
2026-08-12 23:02:31 +02:00
Michael Dieringer
f4a1108209
Forslag: dokumentrapporter skal defaulte til Word layout, ikke RDLC
2026-08-12 22:57:57 +02:00
Michael Dieringer
e61c3db041
Forslag: ambiguous-record-failure-handling-must-be-clarified
2026-08-12 22:51:15 +02:00
Michael Dieringer
f2d6674391
Forslag: code-must-not-change-workdate
2026-08-12 22:51:14 +02:00
Michael Dieringer
bed13b9b60
Forslag: var-parametre kraever en adresserbar variabel, ikke literal/udtryk
2026-08-12 22:44:57 +02:00
Michael Dieringer
35c29f6af3
Udvid undtagelse: s/c i Dialog/Window progress-idiom er ogsaa accepteret
2026-08-12 22:37:28 +02:00
Michael Dieringer
c06effd01e
Forslag: variable-names-must-be-semantically-descriptive
2026-08-12 22:30:50 +02:00
Michael Dieringer
e7f9d9f87a
Forslag: fixed-choice-set-must-use-enum-not-integer
2026-08-12 22:30:48 +02:00
Michael Dieringer
a06b684e87
Forslag: binary-choice-must-be-boolean
2026-08-12 22:30:47 +02:00
Michael Dieringer
943d1ac6ee
Forslag: intrinsic AL-funktionskald skal bruge moderne casing, ikke ALL-CAPS
2026-08-12 22:17:42 +02:00
Michael Dieringer
19e3bb7c72
Ret: tilfoej Design Pages Best Practices (s.112) + fjern duplikeret afsnit
2026-08-12 22:09:24 +02:00
Michael Dieringer
8ef8209cce
Forslag: BC page-type conventions (naming, structure, links)
2026-08-12 22:04:51 +02:00
Michael Dieringer
052288bc9b
Forslag: BC table-type conventions (naming, PK, pages)
2026-08-12 21:58:50 +02:00
Michael Dieringer
02f0d49654
Merge pull request #47 from Curabis/rule/al-mcp-build-publish-projectpath-must-be-absolute
...
[BCQuality] al MCP build/publish require absolute projectPath
2026-08-10 11:46:22 +02:00
Michael Dieringer
d1fec64533
Foreslå regel: al MCP build/publish kræver absolut projectPath
2026-08-10 11:41:26 +02:00
Michael Dieringer
4c225c4ac3
EXPERIMENTAL, UNTESTED: explicit session close (DELETE) before reinitializing
...
Neither of the bridge's two "clear sessionId and reinitialize" paths ever
told BC the old session was actually done - they just drop the local
sessionId variable and let a fresh session get issued on the next call.
The MCP Streamable HTTP transport spec defines an explicit way to end a
session: an HTTP DELETE to the endpoint carrying the session's
Mcp-Session-Id. The bridge has never called it.
Trying this as a candidate fix for the recurring Internal_CompanyNotFound
pattern documented in bc-mcp-company-header-must-match-exact-company-name.md:
a client-side session reset (clear sessionId + reinitialize) does NOT clear
the error, but a manual save on the BC-side MCP Server Configuration record
does. If BC's server-side session state is what's actually stuck, an
explicit close might do the same job the manual config-save has been doing
by accident.
Committed before live-testing (not after) specifically so it survives the
next sync-bcquality-knowledge.ps1 run instead of being silently overwritten
from the old source - this is a durability commit, not a confirmed-fix
commit. Best-effort and silent on failure: if BC responds 404/405 (DELETE
not implemented), that's evidence for the MS support escalation, not a bug
here. Update this commit's status (confirmed working / confirmed no effect
/ reverted) once tested against a live recurrence.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 21:42:08 +02:00
Michael Dieringer
2ce2697010
Record candidate workaround: MCP Server Configuration save correlates with recovery
...
New follow-up section, distinct from the 2026-08-03 "ruled out" static
verification (Aktiv/Standard confirmed on, unchanged). This is about the
save/toggle *action* on CURABIS_DEV's MCP Server Configuration page, not
its resting state - not previously tested.
Observed 2026-08-07 (MID): Internal_CompanyNotFound recurred. VS Code
restart + retry failed (consistent with the already-falsified restart
theory). Toggling the Standard field on CURABIS_DEV and saving, then
retrying, worked immediately. MID reports having seen this same pattern -
restart-retry fails, config-touch-retry succeeds - on prior occasions.
Framed explicitly as a candidate, not a confirmed fix: n>=2 informal
observations, toggle direction untested (MID's own read is that direction
is probably irrelevant, pointing at the save/republish action busting a
server-side cache rather than at the field's value), and no baseline
established against the error's already-documented intermittency. Does
not override the Microsoft-support-escalation guidance - if anything it's
supporting evidence for that escalation, since a CURABIS-side config touch
masking a BC-side symptom points at BC's MCP session/cache layer.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 14:06:31 +02:00