-
-
Notifications
You must be signed in to change notification settings - Fork 894
Feature/error governance #620
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
b1771dc
46cc5fe
4686df6
7e01b30
a61f6f4
8df2725
2c30fe8
34f686b
f3408b3
6b83e96
e4a7632
48415a7
484b91f
fec800c
3b04fdf
41d98d4
61e4fef
27ac723
472cb33
1c59c2a
f0db2fc
2a58511
bb85cab
fd9fca3
f1cf703
44fa745
9a3c8f5
f5ae2ac
5261dba
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -105,23 +105,42 @@ Qualidade nΓ£o Γ© negociΓ‘vel. Todo cΓ³digo passa por mΓΊltiplos gates antes de | |
|
|
||
| ### VI. Absolute Imports (SHOULD) | ||
|
|
||
| Imports relativos criam acoplamento e dificultam refatoraΓ§Γ£o. | ||
| Relative imports create coupling and make refactoring difficult. | ||
|
|
||
| **Regras:** | ||
| - SHOULD: Sempre usar imports absolutos com alias `@/` | ||
| - SHOULD NOT: Usar imports relativos (`../../../`) | ||
| - EXCEPTION: Imports dentro do mesmo mΓ³dulo/feature podem ser relativos | ||
| **Rules:** | ||
| - SHOULD: Always use absolute imports with the `@/` alias. | ||
| - SHOULD NOT: Use relative imports (`../../../`). | ||
| - EXCEPTION: Imports within the same module/feature may be relative. | ||
|
|
||
| **Exemplo:** | ||
| **Example:** | ||
| ```typescript | ||
| // CORRETO | ||
| // CORRECT | ||
| import { useStore } from '@/stores/feature/store' | ||
|
|
||
| // INCORRETO | ||
| // INCORRECT | ||
| import { useStore } from '../../../stores/feature/store' | ||
| ``` | ||
|
|
||
| **Gate:** ESLint rule (jΓ‘ implementado) | ||
| **Gate:** ESLint rule (already implemented) | ||
|
|
||
| --- | ||
|
|
||
| ### VII. Error Governance (MUST) | ||
|
|
||
| All errors must be traceable, persistent, and categorized to ensure framework observability. | ||
|
|
||
| **Rules:** | ||
| - MUST: All errors must be registered and persisted via `ErrorRegistry`. | ||
| - MUST NOT: Empty `catch` blocks are strictly prohibited; errors must be at least logged. | ||
| - MUST: Categorize errors as `OPERATIONAL` (validation/user-info) or `SYSTEM` (framework bugs/agent failures). | ||
| - MUST: Include contextual metadata (Agent ID, Action, and Timestamp) in every log. | ||
|
|
||
| **Hierarchy:** | ||
| ``` | ||
| System Errors (Critical/Red) β Operational Errors (Audit/Yellow) β Info (Blue) | ||
| ``` | ||
|
|
||
| **Gate:** `scripts/quality/pr-review-ai.js` - BLOCK if raw `console.error` or empty `catch` detected. | ||
|
|
||
|
Comment on lines
+128
to
144
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update constitution metadata after introducing Principle VII. This section adds a new constitutional principle, but the document header still shows π§° Toolsπͺ LanguageTool[grammar] ~135-~135: PossΓvel erro de concordΓ’ncia de nΓΊmero. (GENERAL_NUMBER_AGREEMENT_ERRORS) πͺ markdownlint-cli2 (0.22.0)[warning] 139-139: Fenced code blocks should have a language specified (MD040, fenced-code-language) π€ Prompt for AI Agents |
||
| --- | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a language tag to the fenced hierarchy block (markdownlint MD040).
The code fence under Hierarchy has no language identifier, which triggers the configured markdownlint warning.
Suggested patch
π§° Tools
πͺ markdownlint-cli2 (0.22.0)
[warning] 139-139: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
π€ Prompt for AI Agents