@tera-system/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -0
- package/MANIFEST.json +24 -0
- package/README.md +67 -0
- package/RELEASES.md +28 -0
- package/WELCOME.md +35 -0
- package/agents/application-blueprint.md +407 -0
- package/agents/auditor.md +665 -0
- package/agents/design-reviewer.md +392 -0
- package/agents/domain-expert-agent.md +510 -0
- package/agents/domain-research-agent.md +360 -0
- package/agents/engineering-agent-dotnet.md +218 -0
- package/agents/engineering-agent-phaser.md +275 -0
- package/agents/engineering-agent-typescript.md +300 -0
- package/agents/engineering-agent.md +143 -0
- package/agents/monitor.md +395 -0
- package/agents/production-erp-expert.md +506 -0
- package/agents/project-knowledge-agent.md +271 -0
- package/agents/qa-agent.md +498 -0
- package/agents/tera-business-transformation-consultant.md +290 -0
- package/agents/tera-client-engagement.md +891 -0
- package/agents/tera-software-designer.md +237 -0
- package/agents/tera-strategic-advisor.md +325 -0
- package/agents/tera-system-evolution.md +759 -0
- package/agents/tera.md +520 -0
- package/agents/ui-designer.md +426 -0
- package/commands/tera-approve.md +34 -0
- package/commands/tera-diagnose.md +47 -0
- package/commands/tera-gate.md +40 -0
- package/commands/tera-help.md +41 -0
- package/commands/tera-new-project.md +35 -0
- package/commands/tera-plan.md +34 -0
- package/commands/tera-request-build.md +45 -0
- package/commands/tera-resume.md +34 -0
- package/commands/tera-review.md +52 -0
- package/commands/tera-status.md +38 -0
- package/commands/tera-update.md +48 -0
- package/core/project-control/templates/TASK_TEMPLATE.md +146 -0
- package/core/tera-system/AGENT_ACTIVATION_MATRIX.md +285 -0
- package/core/tera-system/AGENT_DEPENDENCY_MAP.md +117 -0
- package/core/tera-system/AGENT_GENERATION_TEMPLATE.md +312 -0
- package/core/tera-system/AGENT_PERMISSION_MODEL.md +343 -0
- package/core/tera-system/AIS_PROTOCOL.md +191 -0
- package/core/tera-system/TERA_AGENT_CONDUCT.md +102 -0
- package/core/tera-system/TERA_CONTINUOUS_IMPROVEMENT_POLICY.md +111 -0
- package/core/tera-system/TERA_DISTRIBUTION_POLICY.md +291 -0
- package/core/tera-system/TERA_PROJECT_DECISION.md +281 -0
- package/core/tera-system/TERA_USER_GUIDE.md +462 -0
- package/core/tera-system/TOOLING_AND_MCP_POLICY.md +285 -0
- package/core/tera-system/TeraApplicationQuestionBank.md +362 -0
- package/core/tera-system/TeraArchitectureMap.md +91 -0
- package/core/tera-system/TeraClientPolicy.md +366 -0
- package/core/tera-system/TeraHelperAgents.md +970 -0
- package/core/tera-system/TeraPolicyMap.md +131 -0
- package/core/tera-system/TeraPreExecutionGate.md +818 -0
- package/core/tera-system/TeraPreparationDocumentationGovernance.md +370 -0
- package/core/tera-system/TeraPricingPolicy.md +674 -0
- package/core/tera-system/TeraProjectIntakePolicy.md +164 -0
- package/core/tera-system/TeraScenarioStressTests.md +168 -0
- package/core/tera-system/TeraSubAgents.md +854 -0
- package/core/tera-system/TeraSystemMaintenanceChecklist.md +80 -0
- package/core/tera-system/TeraTokenPolicy.md +362 -0
- package/core/tera-system/Tera_Project_Preparation_Files.md +1045 -0
- package/core/tera-system/agent-helpers/application-blueprint-details.md +177 -0
- package/core/tera-system/client-helpers/tera-client-engagement-discovery-domains.md +99 -0
- package/core/tera-system/client-helpers/tera-client-engagement-gates.md +258 -0
- package/core/tera-system/client-helpers/tera-client-engagement-pricing.md +341 -0
- package/core/tera-system/client-helpers/tera-client-engagement-protocols.md +692 -0
- package/core/tera-system/consulting-helpers/BTCA_METHODOLOGY_FRAMEWORK.md +195 -0
- package/core/tera-system/consulting-helpers/BTCA_REPORT_TEMPLATES.md +266 -0
- package/core/tera-system/design-system/ACCESSIBILITY_RULES.md +31 -0
- package/core/tera-system/design-system/COMPONENT_LIBRARY_SCHEMA.md +46 -0
- package/core/tera-system/design-system/DESIGN_MD_INTEGRATION.md +59 -0
- package/core/tera-system/design-system/DESIGN_REVIEW_STANDARDS.md +241 -0
- package/core/tera-system/design-system/DESIGN_SOURCE_PROTOCOL.md +61 -0
- package/core/tera-system/design-system/DESIGN_SYSTEM_OVERVIEW.md +66 -0
- package/core/tera-system/design-system/DESIGN_TOKENS_SCHEMA.md +66 -0
- package/core/tera-system/design-system/EXTERNAL_REFERENCE_ANALYSIS.md +52 -0
- package/core/tera-system/design-system/FIGMA_INTEGRATION.md +138 -0
- package/core/tera-system/design-system/INTERNAL_KITS_INDEX.md +26 -0
- package/core/tera-system/design-system/LAYOUT_PATTERNS.md +52 -0
- package/core/tera-system/design-system/MOBILE_UI_UX_STANDARDS.md +342 -0
- package/core/tera-system/design-system/RTL_LTR_RULES.md +39 -0
- package/core/tera-system/design-system/UI_ACCEPTANCE_GATE.md +80 -0
- package/core/tera-system/design-system/kits/KIT_ADMIN_DASHBOARD.md +102 -0
- package/core/tera-system/engineering-governance/ENGINEERING_AGENT_RESPONSIBILITIES.md +210 -0
- package/core/tera-system/engineering-governance/ENGINEERING_BEST_PRACTICES.md +468 -0
- package/core/tera-system/engineering-governance/ENGINEERING_GOVERNANCE_GATE.md +131 -0
- package/core/tera-system/engineering-governance/ENGINEERING_REVIEW_CHECKLIST.md +129 -0
- package/core/tera-system/engineering-governance/QUALITY_GATE_THRESHOLDS.md +159 -0
- package/core/tera-system/engineering-helpers/engineering-agent-core.md +171 -0
- package/core/tera-system/knowledge-base/OPENHANDS_ARCHITECTURE_REFERENCE.md +243 -0
- package/core/tera-system/knowledge-base/manufacturing/00_INDEX.md +32 -0
- package/core/tera-system/knowledge-base/manufacturing/01_MANUFACTURING_ERP_CORE_CONCEPTS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/02_SAP_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/03_DYNAMICS_365_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/04_ORACLE_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/05_ODOO_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/06_ERPNEXT_MANUFACTURING_RESEARCH.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/07_MANUFACTURING_COSTING_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/08_PRODUCTION_DISCOVERY_QUESTIONS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/09_MANUFACTURING_BLUEPRINT_CHECKLIST.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/10_PRODUCTION_TEST_SCENARIOS.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/11_QUALITY_REWORK_AND_SCRAP_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/12_MRP_AND_PLANNING_GUIDE.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/13_LOCAL_AND_REGIONAL_MANUFACTURING_CONTEXT.md +7 -0
- package/core/tera-system/knowledge-base/manufacturing/14_VENDOR_COMPARISON_MATRIX.md +7 -0
- package/core/tera-system/product-standards/maintenance-apps/BEST_PRACTICES_DOMAIN.md +325 -0
- package/core/tera-system/product-standards/maintenance-apps/STANDARD_DEFINITION.md +142 -0
- package/core/tera-system/profiles/PROFILES_INDEX.md +57 -0
- package/core/tera-system/profiles/TEMPLATE.md +47 -0
- package/core/tera-system/profiles/dotnet-blazor-ef.md +76 -0
- package/core/tera-system/profiles/dotnet-razorpages-adonet.md +137 -0
- package/core/tera-system/profiles/dotnet-wpf-sqlite.md +159 -0
- package/core/tera-system/profiles/effect-bun-opencode.md +109 -0
- package/core/tera-system/profiles/flutter-mobile.md +369 -0
- package/core/tera-system/profiles/nextjs-prisma.md +110 -0
- package/core/tera-system/profiles/phaser-react-node.md +302 -0
- package/core/tera-system/profiles/react-pwa.md +97 -0
- package/core/tera-system/runtime/CLIENT_DISCOVERY_PROTOCOL.md +145 -0
- package/core/tera-system/runtime/DOMAIN_INTELLIGENCE_PROTOCOL.md +124 -0
- package/core/tera-system/runtime/MVP_DEFINITION_PROTOCOL.md +176 -0
- package/core/tera-system/runtime/TERA_RUNTIME_CHECKLISTS.md +646 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS.md +50 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CLIENT.md +355 -0
- package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CORE.md +799 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES.md +908 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_DELIVERY.md +584 -0
- package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_PREPARATION.md +376 -0
- package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_PROTOCOL.md +335 -0
- package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_TEMPLATES.md +397 -0
- package/core/tera-system/runtime/VERSION_LIFECYCLE_PROTOCOL.md +296 -0
- package/core/tera-system/semgrep-rules/README.md +32 -0
- package/core/tera-system/semgrep-rules/tera-security.yml +66 -0
- package/core/tera-system/semgrep-rules/tera-standards.yml +49 -0
- package/core/tera-system/teranoo-ui/README.md +48 -0
- package/core/tera-system/teranoo-ui/components/button.tsx +51 -0
- package/core/tera-system/teranoo-ui/components/card.tsx +49 -0
- package/core/tera-system/teranoo-ui/components/dashboard-layout.tsx +36 -0
- package/core/tera-system/teranoo-ui/components/data-table.tsx +146 -0
- package/core/tera-system/teranoo-ui/components/empty-state.tsx +31 -0
- package/core/tera-system/teranoo-ui/components/kpi-card.tsx +42 -0
- package/core/tera-system/teranoo-ui/components/page-header.tsx +25 -0
- package/core/tera-system/teranoo-ui/components/search-input.tsx +40 -0
- package/core/tera-system/teranoo-ui/components/sidebar.tsx +66 -0
- package/core/tera-system/teranoo-ui/components/stats-card.tsx +37 -0
- package/core/tera-system/teranoo-ui/registry.json +77 -0
- package/core/tera-system/teranoo-ui/styles/teranoo-theme.css +61 -0
- package/opencode.tera.example.json +30 -0
- package/package.json +37 -0
- package/scripts/build.mjs +110 -0
- package/scripts/install.js +244 -0
- package/scripts/lib/license.mjs +90 -0
- package/scripts/lib/public-key.pem +3 -0
- package/scripts/tera-license.mjs +63 -0
- package/tools/tera-clean.ps1 +97 -0
- package/tools/tera-fetch.ps1 +165 -0
- package/tools/tera-release.ps1 +96 -0
- package/tools/tera-schedule.ps1 +59 -0
- package/tools/tera-update.ps1 +472 -0
- package/tools/tera-watch.ps1 +154 -0
- package/tools/update-client-repositories.ps1 +92 -0
|
@@ -0,0 +1,818 @@
|
|
|
1
|
+
# TeraPreExecutionGate.md
|
|
2
|
+
|
|
3
|
+
# بوابة ما قبل التنفيذ وما بعده — Pre/Post Execution Gates
|
|
4
|
+
|
|
5
|
+
## 1. الغرض
|
|
6
|
+
|
|
7
|
+
هذا الملف يعرّف بوابة تحقق إلزامية قبل التنفيذ، وبوابة مراجعة إلزامية بعد التنفيذ، قبل أن يعتمد Tera أي مهمة تنفيذية أو يفوضها إلى عميل فرعي أو يقبل نتيجتها النهائية.
|
|
8
|
+
|
|
9
|
+
الهدف هو أن يستطيع Tera قيادة تطبيق صغير أو متوسط حتى عند استخدام نموذج ذكاء متوسط أو ضعيف، وذلك عبر قواعد تشغيل واضحة وقابلة للفحص، بدل الاعتماد على الاستنتاج الحر.
|
|
10
|
+
|
|
11
|
+
هذه البوابة لا تجعل المستخدم مراجعًا تفصيليًا. المستخدم يعتمد أو يرفض القرار النهائي، أما Tera فهو المسؤول عن اكتشاف توسع المهمة أو تعارضها قبل عرضها.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 2. متى تطبق البوابة؟
|
|
16
|
+
|
|
17
|
+
تطبق قبل كل حالة من الحالات التالية:
|
|
18
|
+
|
|
19
|
+
- إنشاء أو عرض أي `TASK-ID` تنفيذية.
|
|
20
|
+
- تغيير حالة مهمة من `Draft` إلى `Approved`.
|
|
21
|
+
- تفويض أي Sub-Agent للتنفيذ.
|
|
22
|
+
- الانتقال من `Plan Mode` إلى `Build Mode`.
|
|
23
|
+
- تشغيل أوامر Shell مؤثرة مثل `npm`, `npx`, `prisma`, `git`, `docker`.
|
|
24
|
+
- إنشاء أو تعديل كود التطبيق.
|
|
25
|
+
|
|
26
|
+
لا يجوز تخطي هذه البوابة لأن المهمة تبدو بسيطة.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## 3. قاعدة التشغيل الأساسية
|
|
31
|
+
|
|
32
|
+
قبل التفويض، يجب أن تكون المهمة:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
Smallest Safe Executable Unit
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
أي أصغر وحدة تنفيذية آمنة تحقق خطوة واحدة واضحة من الخطة، دون إدخال أعمال يمكن تأجيلها.
|
|
39
|
+
|
|
40
|
+
إذا احتوت المهمة على أكثر من هدف مستقل، يجب تقسيمها.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 3.1 Orchestration Decision Matrix Prerequisite
|
|
45
|
+
|
|
46
|
+
Before running the `Pre-Execution Gate`, Tera must apply the Orchestration Decision Matrix defined in `.opencode/agents/tera.md`.
|
|
47
|
+
|
|
48
|
+
This pre-task step determines:
|
|
49
|
+
|
|
50
|
+
- the smallest sufficient orchestration level
|
|
51
|
+
- whether helper agents are needed
|
|
52
|
+
- the expected review surfaces
|
|
53
|
+
- the initial security sensitivity
|
|
54
|
+
- whether handoff readiness is relevant at all
|
|
55
|
+
- whether the task maps cleanly to `PROJECT_MASTER_PLAN.md`, `PROJECT_DETAILED_EXECUTION_PLAN.md`, and the current `EXECUTION_BATCH_PLAN.md` when those files exist
|
|
56
|
+
|
|
57
|
+
Important clarification:
|
|
58
|
+
|
|
59
|
+
- `Security Sensitivity Levels` are determined during task preparation before delegation.
|
|
60
|
+
- `Independent Review Decision` is confirmed again after execution inside `Post-Execution Review Gate`.
|
|
61
|
+
- One does not replace the other.
|
|
62
|
+
|
|
63
|
+
## 3.2 Model Capability Gate Prerequisite
|
|
64
|
+
|
|
65
|
+
Before running the `Pre-Execution Gate`, Tera must also apply `Model Capability Gate`.
|
|
66
|
+
|
|
67
|
+
Purpose:
|
|
68
|
+
|
|
69
|
+
- decide whether the current model is suitable for the planned task
|
|
70
|
+
- decide whether safeguards are enough
|
|
71
|
+
- decide whether a stronger model should be recommended or required
|
|
72
|
+
- decide whether the task should be split before execution
|
|
73
|
+
|
|
74
|
+
`Model Capability Gate` comes after orchestration planning and task-package preparation, and before `Pre-Execution Gate`.
|
|
75
|
+
|
|
76
|
+
It does not replace:
|
|
77
|
+
|
|
78
|
+
- `SoftwareDesignerAgent`
|
|
79
|
+
- `SecurityAgent` (معرّف في `TeraHelperAgents.md` §6.1)
|
|
80
|
+
- `qa-agent` (موجود في `.opencode/agents/qa-agent.md`)
|
|
81
|
+
- `ProjectControlAgent` (معرّف في `TeraHelperAgents.md` §6.8)
|
|
82
|
+
- `Post-Execution Review Gate`
|
|
83
|
+
|
|
84
|
+
It informs whether the current model is sufficient for the planned work and what extra safeguards are needed.
|
|
85
|
+
|
|
86
|
+
If the outcome is:
|
|
87
|
+
|
|
88
|
+
- `Current model sufficient`
|
|
89
|
+
- `Current model acceptable with safeguards`
|
|
90
|
+
|
|
91
|
+
then `Pre-Execution Gate` may continue.
|
|
92
|
+
|
|
93
|
+
If the outcome is:
|
|
94
|
+
|
|
95
|
+
- `Stronger model recommended`
|
|
96
|
+
|
|
97
|
+
Tera may continue only with documented safeguards or pause to ask the user when the risk is meaningful.
|
|
98
|
+
|
|
99
|
+
If the outcome is:
|
|
100
|
+
|
|
101
|
+
- `Stronger model required`
|
|
102
|
+
- `Split task before execution`
|
|
103
|
+
|
|
104
|
+
Tera must not proceed as a normal implementation delegation until that decision is resolved.
|
|
105
|
+
|
|
106
|
+
## 3.3 Technology Profile Gate
|
|
107
|
+
|
|
108
|
+
Before evaluating any implementation task, Tera must determine the active Technology Profile.
|
|
109
|
+
|
|
110
|
+
Profile sources:
|
|
111
|
+
|
|
112
|
+
1. `project-control/PROJECT_STATE.md`
|
|
113
|
+
2. `project-preparation/08_TECHNICAL_ARCHITECTURE.md`
|
|
114
|
+
3. Ask the user only if the technology is still unclear
|
|
115
|
+
|
|
116
|
+
Rules:
|
|
117
|
+
|
|
118
|
+
- Do not apply technology rules unless they belong to the active profile.
|
|
119
|
+
- Do not borrow rules from an inactive profile.
|
|
120
|
+
- `Pre-Execution Gate` = General Gate + Active Technology Profile additions.
|
|
121
|
+
- Technology-specific examples and command restrictions belong in:
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
tera-system/profiles/
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 3.4 Client Approval Gate
|
|
128
|
+
|
|
129
|
+
Before evaluating any implementation task for an external client project, Tera must verify:
|
|
130
|
+
|
|
131
|
+
- client profile exists in `clients/`.
|
|
132
|
+
- contacts and approval authority are documented.
|
|
133
|
+
- client approval package exists under `clients/.../client-approval/`.
|
|
134
|
+
- approved scope is documented.
|
|
135
|
+
- design direction is approved before final UI work.
|
|
136
|
+
- `Execution Authorization` is approved and recorded before Build Mode.
|
|
137
|
+
|
|
138
|
+
If any required client approval item is missing, the Pre-Execution Gate result must be `BLOCKED`.
|
|
139
|
+
|
|
140
|
+
## 3.4.1 Design Governance Gate
|
|
141
|
+
|
|
142
|
+
Before evaluating any UI / Frontend / layout / style / component task, Tera must verify:
|
|
143
|
+
|
|
144
|
+
- Design Source Decision exists using `tera-system/design-system/DESIGN_SOURCE_PROTOCOL.md`.
|
|
145
|
+
- `project-preparation/28_UI_UX_GUIDELINES.md` exists when visual styling matters.
|
|
146
|
+
- Raw design sources are saved or referenced in `project-preparation/design-source/` when applicable.
|
|
147
|
+
- The task file includes: `UI Source`, `UI Rules`, `UI Acceptance`, and `Design Gap Handling`.
|
|
148
|
+
- The task is linked to `tera-system/design-system/UI_ACCEPTANCE_GATE.md`.
|
|
149
|
+
|
|
150
|
+
If any required design item is missing, the Pre-Execution Gate result must be `BLOCKED` with reason `Design Source Decision missing` or `Design Gap`.
|
|
151
|
+
|
|
152
|
+
## 3.5 Direct Execution Exception Policy
|
|
153
|
+
|
|
154
|
+
الأصل أن Tera لا ينفذ كود التطبيق مباشرة، بل يدير العملاء الفرعيين ويراجع نتائجهم.
|
|
155
|
+
|
|
156
|
+
يسمح لتيرا بالتنفيذ المباشر فقط في الحالات التالية:
|
|
157
|
+
|
|
158
|
+
1. تعديل توثيقي صغير داخل ملفات التحكم أو التحضير.
|
|
159
|
+
2. إصلاح تنسيقي بسيط لا يغير منطق النظام.
|
|
160
|
+
3. إجراء طارئ يمنع توقف المنظومة، بشرط:
|
|
161
|
+
- أن يكون محدودًا جدًا.
|
|
162
|
+
- أن يتم توثيقه في `project-control/PROJECT_ACTIVITY_LOG.md`.
|
|
163
|
+
- أن يتم تسجيل سبب عدم تفويضه إلى عميل فرعي.
|
|
164
|
+
- أن يخضع لاحقًا إلى `Post-Execution Review Gate`.
|
|
165
|
+
|
|
166
|
+
أي تنفيذ كود تطبيقي أو تعديل معماري أو بناء شاشة أو API أو قاعدة بيانات يجب أن يذهب إلى العميل المختص، ولا يسمح لتيرا بتنفيذه مباشرة.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## 4. مخرجات البوابة
|
|
171
|
+
|
|
172
|
+
كل مهمة تنفيذية يجب أن تحتوي على قسم واضح باسم:
|
|
173
|
+
|
|
174
|
+
```text
|
|
175
|
+
Pre-Execution Gate Result
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
والنتيجة تكون واحدة فقط:
|
|
179
|
+
|
|
180
|
+
```text
|
|
181
|
+
PASS
|
|
182
|
+
NEEDS_REVISION
|
|
183
|
+
BLOCKED
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
- `PASS`: المهمة ضيقة وآمنة وجاهزة لطلب اعتماد المستخدم.
|
|
187
|
+
- `NEEDS_REVISION`: تيرا يجب أن يصحح المهمة ذاتيًا قبل عرضها للاعتماد.
|
|
188
|
+
- `BLOCKED`: توجد معلومة ناقصة أو تعارض يمنع التنفيذ.
|
|
189
|
+
|
|
190
|
+
إذا كانت النتيجة ليست `PASS`، لا يجوز تفويض العميل الفرعي.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## 5. Checklist إلزامي
|
|
195
|
+
|
|
196
|
+
يجب على Tera فحص البنود التالية بنمط نعم/لا:
|
|
197
|
+
|
|
198
|
+
| # | سؤال التحقق | النتيجة المطلوبة |
|
|
199
|
+
|---|---|---|
|
|
200
|
+
| 1 | هل المهمة مرتبطة مباشرة بمرحلة أو بند معتمد في خطة التنفيذ، وفي `PROJECT_MASTER_PLAN.md` / `PROJECT_DETAILED_EXECUTION_PLAN.md` / `EXECUTION_BATCH_PLAN.md` إن وُجدت؟ | Yes |
|
|
201
|
+
| 2 | هل المهمة أصغر وحدة تنفيذية ممكنة؟ | Yes |
|
|
202
|
+
| 3 | هل تحتوي المهمة على هدف واحد فقط؟ | Yes |
|
|
203
|
+
| 4 | هل يوجد أي عنصر يمكن تأجيله دون كسر المهمة؟ | No |
|
|
204
|
+
| 5 | هل تضيف المهمة شاشة أو UI دون أن تكون مهمة UI؟ | No |
|
|
205
|
+
| 6 | هل تضيف المهمة API أو Route دون طلب صريح؟ | No |
|
|
206
|
+
| 7 | هل تضيف Auth أو Roles أو Sessions دون طلب صريح؟ | No |
|
|
207
|
+
| 8 | هل تضيف Database models / entities / schema objects دون أن تكون مهمة Data Schema معتمدة؟ | No |
|
|
208
|
+
| 9 | هل تنفذ database migration / apply commands دون أن تكون مهمة قاعدة بيانات معتمدة؟ | No |
|
|
209
|
+
| 10 | هل تنشئ `.env` فعليًا خارج مهمة محلية معتمدة أو دون خطة Secret Handling واضحة؟ | No |
|
|
210
|
+
| 11 | هل ستظهر أي secrets حقيقية في ملف مهمة أو سجل أو handback أو ملف config/code؟ | No |
|
|
211
|
+
| 12 | هل تضيف مكتبات غير مطلوبة مباشرة للمهمة؟ | No |
|
|
212
|
+
| 13 | هل تكتب خارج Allowed Write Targets؟ | No |
|
|
213
|
+
| 14 | هل تعدل `tera-system/` أو `project-preparation/` أثناء التنفيذ؟ | No |
|
|
214
|
+
| 15 | هل الأوامر المقترحة تحتاج موافقة المستخدم قبل التنفيذ؟ | Yes إذا كانت مؤثرة |
|
|
215
|
+
| 16 | هل تم فحص الآثار الجانبية لكل أمر Shell / CLI مقترح؟ | Yes |
|
|
216
|
+
| 17 | هل يوجد أمر ينشئ ملفًا أو يعدل ملفًا أو يشغل توليد كود خارج نطاق المهمة؟ | No |
|
|
217
|
+
| 18 | هل يوجد تناقض بين القيود والمخرجات أو Allowed Write Targets؟ | No |
|
|
218
|
+
| 19 | هل معايير القبول قابلة للاختبار بوضوح؟ | Yes |
|
|
219
|
+
| 20 | هل يوجد مسار تراجع آمن إذا فشل التنفيذ؟ | Yes |
|
|
220
|
+
| 21 | إذا كانت المهمة UI/Frontend، هل يوجد Design Source Decision و`28_UI_UX_GUIDELINES.md` عند الحاجة؟ | Yes / N/A |
|
|
221
|
+
| 22 | إذا كانت المهمة UI/Frontend، هل ترتبط بـ `UI_ACCEPTANCE_GATE.md` وتتضمن UI Source / UI Rules / UI Acceptance / Design Gap Handling؟ | Yes / N/A |
|
|
222
|
+
|
|
223
|
+
إذا فشل أي بند، يجب على Tera تصحيح المهمة قبل عرضها.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## 6. قواعد منع تضخم المهمة
|
|
228
|
+
|
|
229
|
+
يمنع داخل أي مهمة تنفيذية إضافة أي عنصر غير مطلوب صراحة في عنوان المهمة أو معايير قبولها.
|
|
230
|
+
|
|
231
|
+
العناصر التالية تعتبر توسعًا افتراضيًا ما لم تذكر صراحة:
|
|
232
|
+
|
|
233
|
+
```text
|
|
234
|
+
UI
|
|
235
|
+
Dashboard
|
|
236
|
+
API Routes
|
|
237
|
+
Authentication
|
|
238
|
+
Authorization
|
|
239
|
+
Database Models / Entities / Schema Objects
|
|
240
|
+
Database Migrations
|
|
241
|
+
Database Apply Commands
|
|
242
|
+
Seed Data
|
|
243
|
+
External Services
|
|
244
|
+
Docker
|
|
245
|
+
CI/CD
|
|
246
|
+
Testing Framework
|
|
247
|
+
Reusable Components
|
|
248
|
+
Service Layer
|
|
249
|
+
Repository Layer
|
|
250
|
+
State Management
|
|
251
|
+
README أو توثيق إضافي
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
إذا رأى Tera أن أحد هذه العناصر مفيد، يسجله كـ:
|
|
255
|
+
|
|
256
|
+
```text
|
|
257
|
+
Deferred / Proposed Next Task
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
ولا يدخله في المهمة الحالية.
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## 6.1 بوابة آثار الأوامر الجانبية — CLI / Tool Side Effects Gate
|
|
265
|
+
|
|
266
|
+
قبل اعتماد أي مهمة تحتوي على أوامر Shell أو CLI، يجب على Tera فحص كل أمر مقترح وفق السؤال التالي:
|
|
267
|
+
|
|
268
|
+
```text
|
|
269
|
+
ما الملفات أو التغييرات أو العمليات التي سينتجها هذا الأمر افتراضيًا؟
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
لا يجوز اعتماد أمر لمجرد أنه شائع أو منطقي تقنيًا. يجب التأكد أن آثاره الجانبية لا تخالف نطاق المهمة.
|
|
273
|
+
|
|
274
|
+
### قواعد الفحص
|
|
275
|
+
|
|
276
|
+
يجب على Tera فحص كل أمر من ناحية:
|
|
277
|
+
|
|
278
|
+
| نوع الأثر | أمثلة | القرار |
|
|
279
|
+
|---|---|---|
|
|
280
|
+
| إنشاء ملفات | `.env`, ORM schema/configuration files, config files | يسمح فقط إذا كانت ضمن Allowed Write Targets |
|
|
281
|
+
| تعديل ملفات | `package.json`, lock file, config | يسمح فقط إذا كان مذكورًا في المهمة |
|
|
282
|
+
| توليد كود | ORM-generated files, framework-generated files | ممنوع إلا إذا كانت المهمة مخصصة لذلك |
|
|
283
|
+
| تشغيل قاعدة بيانات | apply commands, migrations, seed | ممنوع إلا في مهمة قاعدة بيانات معتمدة |
|
|
284
|
+
| الاتصال بخدمة خارجية | package registry, DB, API | يحتاج موافقة إذا كان مؤثرًا |
|
|
285
|
+
| حذف أو استبدال ملفات | cleanup, overwrite | يحتاج تصريح واضح |
|
|
286
|
+
|
|
287
|
+
إذا كان الأمر ينشئ أثرًا جانبيًا غير مسموح، يجب على Tera أن يختار أحد الإجراءات التالية قبل عرض المهمة:
|
|
288
|
+
|
|
289
|
+
1. استبدال الأمر بخطوات يدوية آمنة.
|
|
290
|
+
2. تضييق الأمر أو تغيير الخيارات إن كان ذلك ممكنًا.
|
|
291
|
+
3. إضافة خطوة تنظيف صريحة إذا كان الأثر الجانبي مؤقتًا وآمنًا.
|
|
292
|
+
4. فشل البوابة بنتيجة `NEEDS_REVISION` وتصحيح المهمة ذاتيًا.
|
|
293
|
+
5. طلب موافقة صريحة من المستخدم إذا كان تجاوز النطاق ضروريًا.
|
|
294
|
+
|
|
295
|
+
### Technology Profile Rule
|
|
296
|
+
|
|
297
|
+
Technology-specific ORM, scaffold, and database command rules must be loaded from the active Technology Profile only.
|
|
298
|
+
|
|
299
|
+
Examples:
|
|
300
|
+
|
|
301
|
+
- ORM/framework init commands
|
|
302
|
+
- ORM schema/configuration files
|
|
303
|
+
- database models / entities
|
|
304
|
+
- migration commands
|
|
305
|
+
- database apply commands
|
|
306
|
+
- generation commands
|
|
307
|
+
- stack-specific first-task limits
|
|
308
|
+
|
|
309
|
+
General rule:
|
|
310
|
+
|
|
311
|
+
```text
|
|
312
|
+
Do not place stack-specific execution logic in the generic gate when it belongs to a Technology Profile.
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
Database-layer validation rule:
|
|
316
|
+
|
|
317
|
+
```text
|
|
318
|
+
Schema definitions may define field types and relations.
|
|
319
|
+
Business validation rules such as amount > 0 must not be implemented as database constraints unless explicitly approved.
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Secret Handling and Redaction Rule
|
|
323
|
+
|
|
324
|
+
الأسرار الحقيقية مثل كلمات المرور، مفاتيح API، رموز الوصول، وسلاسل الاتصال الحقيقية يسمح بها فقط في:
|
|
325
|
+
|
|
326
|
+
- `.env`
|
|
327
|
+
- `.env.local`
|
|
328
|
+
- متغيرات البيئة المحلية
|
|
329
|
+
- مخزن أسرار محلي يوافق عليه المستخدم صراحة
|
|
330
|
+
|
|
331
|
+
ويمنع منعًا باتًا ظهورها داخل:
|
|
332
|
+
|
|
333
|
+
- `project-control/`
|
|
334
|
+
- `project-preparation/`
|
|
335
|
+
- `generated-agents/`
|
|
336
|
+
- `tera-system/`
|
|
337
|
+
- ملفات `TASK-*.md`
|
|
338
|
+
- `PROJECT_ACTIVITY_LOG.md`
|
|
339
|
+
- `DECISIONS_LOG.md`
|
|
340
|
+
- `ISSUES_AND_GAPS.md`
|
|
341
|
+
- نصوص handback
|
|
342
|
+
- أوامر موثقة داخل المهام
|
|
343
|
+
- ملفات الكود أو config مثل `prisma.config.ts`
|
|
344
|
+
- أي fallback value داخل الكود أو الإعدادات
|
|
345
|
+
|
|
346
|
+
إذا احتاجت المهمة سرًا حقيقيًا، يجب على Tera أن يكتب الخطة بصيغة مرجعية فقط، مثل:
|
|
347
|
+
|
|
348
|
+
```text
|
|
349
|
+
Use local environment secret.
|
|
350
|
+
Create/update .env locally with DATABASE_URL from user-provided secret.
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
ولا يجوز كتابة السر نفسه داخل ملف المهمة أو السجل أو التقرير.
|
|
354
|
+
|
|
355
|
+
ويمتد هذا المنع أيضًا إلى:
|
|
356
|
+
|
|
357
|
+
- ردود المحادثة.
|
|
358
|
+
- handback texts.
|
|
359
|
+
- review notes.
|
|
360
|
+
- incident descriptions.
|
|
361
|
+
- activity logs.
|
|
362
|
+
- decision logs.
|
|
363
|
+
- post-task summaries.
|
|
364
|
+
|
|
365
|
+
عند توثيق سلسلة اتصال أو أمر يستخدم سرًا، يجب استخدام صيغة redacted فقط، مثل:
|
|
366
|
+
|
|
367
|
+
```text
|
|
368
|
+
postgresql://postgres:[REDACTED]@localhost:5432/myapp_db
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
وعند توثيق أي حادثة `Secret Exposure` أو حادثة أمنية مشابهة، يمنع تكرار القيمة المسرّبة نهائيًا في أي ملف أو تقرير أو handback أو log أو رد محادثة. يجب استخدام `[REDACTED]` فقط حتى عند وصف الحادثة نفسها.
|
|
372
|
+
|
|
373
|
+
القاعدة الأساسية:
|
|
374
|
+
|
|
375
|
+
```text
|
|
376
|
+
Any real secret outside approved local environment files = gate failure.
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
ويعتبر وجود fallback حقيقي داخل ملفات config/code مخالفة مباشرة، حتى لو كان الملف محليًا.
|
|
380
|
+
|
|
381
|
+
### قاعدة التعارض الداخلي
|
|
382
|
+
|
|
383
|
+
إذا احتوت المهمة على قيد ومخرج يتعارضان، يجب أن تفشل البوابة.
|
|
384
|
+
|
|
385
|
+
أمثلة:
|
|
386
|
+
|
|
387
|
+
| التعارض | الحكم الصحيح |
|
|
388
|
+
|---|---|
|
|
389
|
+
| ممنوع إنشاء `.env` لكن الأمر المقترح ينشئ `.env` | `NEEDS_REVISION` |
|
|
390
|
+
| ممنوع Schema لكن Allowed Write Targets تسمح بملف ORM schema دون توضيح | تصحيح الصياغة إلى: ملف schema/config أساسي فقط |
|
|
391
|
+
| ممنوع توليد كود لكن الأمر يشغل ORM/framework generation command | `NEEDS_REVISION` |
|
|
392
|
+
| ممنوع اتصال قاعدة بيانات لكن المعيار يطلب database apply command | `NEEDS_REVISION` |
|
|
393
|
+
|
|
394
|
+
لا يجوز اعتبار المهمة `PASS` قبل إزالة التعارض.
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 6.2 بوابة المراجعة بعد التنفيذ — Post-Execution Review Gate
|
|
399
|
+
|
|
400
|
+
### الغرض
|
|
401
|
+
|
|
402
|
+
بعد تسليم أي Sub-Agent لمهمة تنفيذية، يجب على Tera مراجعة الناتج الفعلي قبل قبول المهمة.
|
|
403
|
+
|
|
404
|
+
القاعدة الأساسية:
|
|
405
|
+
|
|
406
|
+
```text
|
|
407
|
+
Do not accept an implementation task based on the Sub-Agent report alone.
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
لا يجوز لـ Tera قبول المهمة اعتمادًا على تقرير العميل الفرعي فقط.
|
|
411
|
+
يجب أن يراجع الملفات الفعلية، والأوامر المنفذة، والآثار الجانبية، والتوافق مع النطاق ومعايير القبول.
|
|
412
|
+
|
|
413
|
+
### متى تطبق؟
|
|
414
|
+
|
|
415
|
+
تطبق بعد كل مهمة تنفيذية ينتج عنها واحد أو أكثر من التالي:
|
|
416
|
+
|
|
417
|
+
- إنشاء ملفات.
|
|
418
|
+
- تعديل ملفات.
|
|
419
|
+
- حذف ملفات.
|
|
420
|
+
- تثبيت حزم.
|
|
421
|
+
- تشغيل أوامر Shell أو CLI.
|
|
422
|
+
- إنشاء مشروع Scaffold.
|
|
423
|
+
- تعديل إعدادات.
|
|
424
|
+
- إنشاء أو تعديل Schema.
|
|
425
|
+
- تنفيذ UI.
|
|
426
|
+
- تنفيذ API.
|
|
427
|
+
- أي تغيير داخل كود التطبيق.
|
|
428
|
+
|
|
429
|
+
### القاعدة الإلزامية
|
|
430
|
+
|
|
431
|
+
قبل تغيير حالة أي مهمة إلى:
|
|
432
|
+
|
|
433
|
+
```text
|
|
434
|
+
Accepted
|
|
435
|
+
Closed
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
يجب تنفيذ `Post-Execution Review Gate`.
|
|
439
|
+
|
|
440
|
+
إذا لم تجتز المهمة هذه البوابة، يجب أن تبقى حالتها واحدة من:
|
|
441
|
+
|
|
442
|
+
```text
|
|
443
|
+
Submitted
|
|
444
|
+
Needs Fix
|
|
445
|
+
Blocked
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
بحسب نتيجة المراجعة.
|
|
449
|
+
|
|
450
|
+
### Checklist إلزامي
|
|
451
|
+
|
|
452
|
+
القالب الرسمي لتسجيل هذه المراجعة داخل ملف المهمة موجود في:
|
|
453
|
+
|
|
454
|
+
```text
|
|
455
|
+
tera-system/runtime/TERA_RUNTIME_TEMPLATES_DELIVERY.md Section 32
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
| # | فحص المراجعة بعد التنفيذ | النتيجة المطلوبة |
|
|
459
|
+
|---|---|---|
|
|
460
|
+
| 1 | هل الملفات التي تغيرت تقع داخل Allowed Write Targets؟ | Yes |
|
|
461
|
+
| 2 | هل تم إنشاء أي ملف خارج النطاق؟ | No |
|
|
462
|
+
| 3 | هل تم حذف أي ملف دون تفويض؟ | No |
|
|
463
|
+
| 4 | هل تم تثبيت أي مكتبة غير مطلوبة صراحة؟ | No |
|
|
464
|
+
| 5 | هل توجد ملفات Auto-generated غير مطابقة للنطاق؟ | No |
|
|
465
|
+
| 6 | هل توجد ملفات توثيق مثل README لم تكن مطلوبة؟ | No |
|
|
466
|
+
| 7 | هل توجد إعدادات CSS أو UI غير مطلوبة؟ | No |
|
|
467
|
+
| 8 | هل تم إدخال Tailwind أو Bootstrap أو مكتبة UI دون موافقة؟ | No |
|
|
468
|
+
| 9 | هل توجد Dark Mode classes أو Theme غير مطابق لـ `28_UI_UX_GUIDELINES.md`؟ | No |
|
|
469
|
+
| 10 | هل تم إنشاء `.env` فعلي خارج مهمة محلية معتمدة أو دون ضوابط الأسرار؟ | No |
|
|
470
|
+
| 11 | هل ظهرت أي secrets حقيقية داخل ملفات المهمة أو السجلات أو handback؟ | No |
|
|
471
|
+
| 12 | هل ظهرت أي secrets حقيقية داخل code/config أو fallback values؟ | No |
|
|
472
|
+
| 13 | هل تم توثيق الأوامر وقيم الاتصال بصيغة redacted فقط؟ | Yes |
|
|
473
|
+
| 14 | هل يحتوي ORM schema أو تعريف الكيانات على models / entities غير مصرح بها؟ | No |
|
|
474
|
+
| 15 | هل تم تحويل قواعد Business Validation إلى database constraints دون موافقة صريحة؟ | No |
|
|
475
|
+
| 16 | هل تم تشغيل database apply / migration / generation commands دون تفويض؟ | No |
|
|
476
|
+
| 17 | هل تم إنشاء API أو Route دون أن تكون المهمة API؟ | No |
|
|
477
|
+
| 18 | هل تم إنشاء Auth أو Roles أو Sessions دون تفويض؟ | No |
|
|
478
|
+
| 19 | هل تم الالتزام بمعايير القبول؟ | Yes |
|
|
479
|
+
| 20 | هل المخرجات قابلة للتشغيل أو الاختبار؟ | Yes |
|
|
480
|
+
| 21 | هل توجد آثار جانبية من أوامر CLI لم تكن متوقعة؟ | No |
|
|
481
|
+
| 22 | هل تم تحديث ملف المهمة والسجلات الإدارية الأساسية بشكل صحيح وبدون IDs مكررة؟ | Yes |
|
|
482
|
+
| 23 | هل تمت مراجعة `project-control/TASK_REGISTRY.md` بعد التنفيذ؟ | Yes |
|
|
483
|
+
| 24 | هل تمت مراجعة `project-control/PROJECT_ACTIVITY_LOG.md` بعد التنفيذ؟ | Yes |
|
|
484
|
+
| 25 | هل تمت مراجعة `project-control/PROJECT_STATE.md` بعد التنفيذ؟ | Yes |
|
|
485
|
+
| 26 | هل تمت مراجعة `project-control/ISSUES_AND_GAPS.md` بعد التنفيذ؟ | Yes |
|
|
486
|
+
| 27 | هل تمت مراجعة `project-control/DECISIONS_LOG.md` وملف المهمة نفسه بعد التنفيذ؟ | Yes |
|
|
487
|
+
| 28 | هل تمت مراجعة `project-control/TERA_ACTIVE_CONTEXT.md` إذا كان موجودًا؟ | Yes / N/A |
|
|
488
|
+
| 29 | هل تم تصنيف أي تعديل خارج Allowed Write Targets إلى `Approved deviation` أو `Needs user approval` أو `Reverted`؟ | Yes / N/A |
|
|
489
|
+
| 30 | هل قرر Tera بوضوح إن كانت المهمة تحتاج مراجعة مستقلة من `ProjectControlAgent` أو `SecurityAgent` أو `qa-agent`؟ | Yes |
|
|
490
|
+
| 31 | إذا كانت المهمة UI/Frontend، هل اجتازت `tera-system/design-system/UI_ACCEPTANCE_GATE.md`؟ | Yes / N/A |
|
|
491
|
+
| 32 | هل سجل Tera قرار Auditor Review بوضوح: `REQUIRED` / `RECOMMENDED` / `NOT_REQUIRED` / `WAIVED_BY_MAJED`؟ | Yes |
|
|
492
|
+
|
|
493
|
+
### Control Files Review Rule
|
|
494
|
+
|
|
495
|
+
بعد كل مهمة تنفيذية، لا يكتفي Tera بمراجعة الكود أو الملفات المتغيرة فقط.
|
|
496
|
+
يجب عليه مراجعة ملفات التحكم الأساسية التالية أيضًا قبل قبول المهمة:
|
|
497
|
+
|
|
498
|
+
- `project-control/TASK_REGISTRY.md`
|
|
499
|
+
- `project-control/PROJECT_ACTIVITY_LOG.md`
|
|
500
|
+
- `project-control/PROJECT_STATE.md`
|
|
501
|
+
- `project-control/ISSUES_AND_GAPS.md`
|
|
502
|
+
- `project-control/DECISIONS_LOG.md`
|
|
503
|
+
- `project-control/tasks/[TASK-ID].md`
|
|
504
|
+
- `project-control/TERA_ACTIVE_CONTEXT.md` إذا كان موجودًا
|
|
505
|
+
|
|
506
|
+
والغرض من هذه المراجعة هو التأكد من:
|
|
507
|
+
|
|
508
|
+
- عدم وجود IDs مكررة أو غير متسلسلة.
|
|
509
|
+
- عدم وجود تسريب أسرار داخل السجلات أو ملفات المهام.
|
|
510
|
+
- عدم وجود تناقض بين حالة المهمة والسجل والنشاط والقرارات.
|
|
511
|
+
- عدم بقاء handback أو review أو incident description بصياغة غير منقحة.
|
|
512
|
+
- عدم وجود فجوة توثيقية بين ما نُفذ فعليًا وما سُجِّل إداريًا.
|
|
513
|
+
|
|
514
|
+
### نتائج البوابة
|
|
515
|
+
|
|
516
|
+
نتيجة `Post-Execution Review Gate` يجب أن تكون واحدة فقط:
|
|
517
|
+
|
|
518
|
+
```text
|
|
519
|
+
PASS
|
|
520
|
+
NEEDS_FIX
|
|
521
|
+
BLOCKED
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
- `PASS`: المخرجات مطابقة للنطاق ومعايير القبول، ولا توجد آثار جانبية غير مصرح بها.
|
|
525
|
+
- `NEEDS_FIX`: ظهرت مخالفات قابلة للإصلاح ضمن نفس المهمة.
|
|
526
|
+
- `BLOCKED`: ظهرت مشكلة لا يمكن إصلاحها دون قرار من المستخدم أو تعديل نطاق المهمة.
|
|
527
|
+
|
|
528
|
+
بعد نتيجة البوابة، يسجل Tera قرار المهمة النهائي بشكل منفصل:
|
|
529
|
+
|
|
530
|
+
```text
|
|
531
|
+
Accepted / Needs Fix / Blocked / Rework Needed / Deferred / Cancelled / READY FOR OWNER ACCEPTANCE
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
لا يجوز استخدام `Accepted` أو `Closed` إلا إذا كانت نتيجة `Post-Execution Review Gate` هي `PASS`.
|
|
535
|
+
|
|
536
|
+
### Owner Approval Gate (قاعدة حوكمة — إلزامية — SCP-2026-08-16-003)
|
|
537
|
+
|
|
538
|
+
```text
|
|
539
|
+
قبل تسجيل Accepted / Closed، تحقق من شرط اعتماد المالك:
|
|
540
|
+
- إذا كان Owner Approval Required = Yes (من Task Contract / Gate / Batch approval / قرار مالك مسجل — لا يُقرر ارتجالياً)
|
|
541
|
+
ولم يُسجَّل الاعتماد الصريح بعد → الحالة = READY FOR OWNER ACCEPTANCE — لا Accepted/Closed.
|
|
542
|
+
- لا يجوز CLOSED عند Owner Approval = Pending (Cross-Record Consistency — CORE §4.0.1).
|
|
543
|
+
- نجاح QA/Auditor = Verification Result — ليس Owner Acceptance.
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
### Checklist إضافي (يُضاف بعد البند 32)
|
|
547
|
+
|
|
548
|
+
| # | فحص المراجعة بعد التنفيذ | النتيجة المطلوبة |
|
|
549
|
+
|---|---|---|
|
|
550
|
+
| 33 | هل `Owner Approval Required` محدد من Task Contract/Gate/Batch/قرار مالك مسجل (لا ارتجالاً)؟ | Yes / N/A |
|
|
551
|
+
| 34 | إذا Required = Yes: هل الاعتماد الصريح مسجل (Task + DECISIONS_LOG + AUDIT_TRAIL) قبل Accepted/Closed؟ | Yes / N/A |
|
|
552
|
+
| 35 | Cross-Record Consistency: لا تعارض حالة المهمة بين Task file / TASK_REGISTRY / PROJECT_STATE / DECISIONS_LOG / AUDIT_TRAIL؟ | Yes |
|
|
553
|
+
|
|
554
|
+
لا يجوز أن تحصل المهمة على `PASS` إذا ظهر أي secret حقيقي خارج ملفات البيئة المحلية المعتمدة.
|
|
555
|
+
وإذا ظهرت قيمة سرية داخل task file أو log أو report أو handback أو issue record أو decision note، فإن نتيجة `Post-Execution Review Gate` تصبح `NEEDS_FIX` أو `BLOCKED` حتى لو كان الكود نفسه صحيحًا.
|
|
556
|
+
|
|
557
|
+
### Allowed Write Target Deviation Rule
|
|
558
|
+
|
|
559
|
+
أي تعديل خارج `Allowed Write Targets` يجب أن يُصنَّف صراحةً كأحد الخيارات التالية:
|
|
560
|
+
|
|
561
|
+
```text
|
|
562
|
+
Approved deviation
|
|
563
|
+
Needs user approval
|
|
564
|
+
Reverted
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
ولا يجوز اعتبار التعديل مقبولًا فقط لأنه "مفيد" أو "غير ضار".
|
|
568
|
+
إذا لم يُصنَّف الانحراف بوضوح، فلا يجوز أن تحصل المهمة على `PASS`.
|
|
569
|
+
|
|
570
|
+
### قاعدة `NEEDS_FIX`
|
|
571
|
+
|
|
572
|
+
إذا كانت النتيجة `NEEDS_FIX`، يجب على Tera:
|
|
573
|
+
|
|
574
|
+
1. ألا يقبل المهمة.
|
|
575
|
+
2. يحدد المخالفات بوضوح.
|
|
576
|
+
3. يطلب من العميل الفرعي إصلاحها.
|
|
577
|
+
4. يحتفظ بنفس `TASK-ID`.
|
|
578
|
+
5. يسجل سبب المشكلة.
|
|
579
|
+
6. يوضح إن كان السبب من تفويض Tera أو من تنفيذ العميل.
|
|
580
|
+
|
|
581
|
+
### Root Cause Rule
|
|
582
|
+
|
|
583
|
+
إذا كان سبب المخالفة هو أن تفويض Tera كان غير دقيق، يجب على Tera أن يسجل ذلك بوضوح.
|
|
584
|
+
|
|
585
|
+
مثال:
|
|
586
|
+
|
|
587
|
+
```text
|
|
588
|
+
Root Cause: Tera delegation used a framework scaffold command without the required restrictive flags, causing forbidden default files to be generated.
|
|
589
|
+
```
|
|
590
|
+
|
|
591
|
+
ثم يضيف Tera توصية عملية لتجنب تكرار الخطأ في المهام القادمة.
|
|
592
|
+
|
|
593
|
+
### Independent Review Decision Rule
|
|
594
|
+
|
|
595
|
+
بعد كل مهمة تنفيذية، يجب على Tera أن يقرر صراحةً هل تحتاج المهمة مراجعة مستقلة إضافية قبل القبول النهائي:
|
|
596
|
+
|
|
597
|
+
- `ProjectControlAgent` عندما تكون الحاجة إلى مراجعة السجلات، الاتساق، التسلسل، أو اكتمال التوثيق.
|
|
598
|
+
- `SecurityAgent` عندما تشمل المهمة `Auth`, `JWT`, `Cookies`, `Middleware`, `Proxy`, `API Routes`, `Server Actions`, `Permissions`, `Role checks`, `Data Mutations`, `Secrets`, `Config`, أو أي سلوك أمني مشابه.
|
|
599
|
+
- `qa-agent` عندما تشمل المهمة `UI`, `Workflow`, أو `Acceptance Criteria` تحتاج تحققًا وظيفيًا مستقلًا.
|
|
600
|
+
- `Auditor` عندما تظهر محفزات جودة بعد التنفيذ: مخاطرة أمنية سطحية، أثر معماري، diff كبير، module/service جديد، shared component، public API، complexity/test gap، أو طلب Majed عبر Tera/Monitor.
|
|
601
|
+
|
|
602
|
+
إذا قرر Tera أن المراجعة المستقلة غير مطلوبة، يجب أن يذكر السبب داخل نتيجة المراجعة بعد التنفيذ.
|
|
603
|
+
|
|
604
|
+
### قاعدة خاصة بمهام Scaffold
|
|
605
|
+
|
|
606
|
+
أي مهمة Scaffold تستخدم أمرًا مثل:
|
|
607
|
+
|
|
608
|
+
- framework scaffold command
|
|
609
|
+
- `vite`
|
|
610
|
+
- `create-react-app`
|
|
611
|
+
- أي generator مشابه
|
|
612
|
+
|
|
613
|
+
يجب بعد التنفيذ مراجعة الملفات والحزم الناتجة فعليًا، وليس الاكتفاء بأن الأمر نجح.
|
|
614
|
+
|
|
615
|
+
يجب على Tera تصنيف الناتج إلى:
|
|
616
|
+
|
|
617
|
+
```text
|
|
618
|
+
Allowed boilerplate
|
|
619
|
+
Needs cleanup
|
|
620
|
+
Forbidden
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
أمثلة الفحص التفصيلية الخاصة بكل stack يجب أن تأتي من الـ Technology Profile النشط.
|
|
624
|
+
|
|
625
|
+
### قاعدة إزالة الحزم وآثارها
|
|
626
|
+
|
|
627
|
+
عند منع حزمة أو طلب إزالتها، يجب على Tera ألا يكتفي بفحص `package.json` فقط.
|
|
628
|
+
|
|
629
|
+
يجب فحص الآثار التالية:
|
|
630
|
+
|
|
631
|
+
- `package.json`
|
|
632
|
+
- `package-lock.json` / `pnpm-lock.yaml` / `yarn.lock`
|
|
633
|
+
- ملفات الإعدادات
|
|
634
|
+
- `imports`
|
|
635
|
+
- `class names` أو `usages` داخل ملفات المصدر
|
|
636
|
+
- القوالب أو الملفات المولدة
|
|
637
|
+
|
|
638
|
+
القاعدة الأساسية:
|
|
639
|
+
|
|
640
|
+
```text
|
|
641
|
+
The task cannot PASS if forbidden package traces remain in lockfiles or source code.
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
إذا بقي أثر الحزمة الممنوعة في `lockfiles` أو الكود أو القوالب المولدة، فلا يجوز أن تجتاز المهمة `Post-Execution Review Gate` بنتيجة `PASS`.
|
|
645
|
+
|
|
646
|
+
### Local Temp Files Hygiene Rule
|
|
647
|
+
|
|
648
|
+
أي ملفات تشغيل محلية أو مؤقتة ناتجة عن dev server أو Codex أو التشغيل المحلي لا يجب أن تدخل Git.
|
|
649
|
+
|
|
650
|
+
أمثلة:
|
|
651
|
+
|
|
652
|
+
- `.codex-dev-*.log`
|
|
653
|
+
- `.codex-dev-*.err`
|
|
654
|
+
- local temp run logs
|
|
655
|
+
- logs تحتوي مسارات محلية أو IP أو تفاصيل dev server
|
|
656
|
+
|
|
657
|
+
إذا اكتشف Tera أن مثل هذه الملفات دخلت commit أو ظهرت كملفات متتبعة داخل Git، فيجب تصنيف الحالة:
|
|
658
|
+
|
|
659
|
+
```text
|
|
660
|
+
Cleanup required
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
ويجب تنظيفها وإضافة ignore مناسب قبل الانتقال إلى مهمة جديدة.
|
|
664
|
+
|
|
665
|
+
### قالب يضاف داخل ملف المهمة بعد التسليم
|
|
666
|
+
|
|
667
|
+
```markdown
|
|
668
|
+
## Post-Execution Review Result
|
|
669
|
+
|
|
670
|
+
| Check | Result | Notes |
|
|
671
|
+
|---|---|---|
|
|
672
|
+
| Changed files within Allowed Write Targets | PASS / FAIL | ... |
|
|
673
|
+
| No unauthorized files created | PASS / FAIL | ... |
|
|
674
|
+
| No unauthorized files deleted | PASS / FAIL | ... |
|
|
675
|
+
| No unauthorized packages added | PASS / FAIL | ... |
|
|
676
|
+
| No unauthorized UI/CSS/theme changes | PASS / FAIL | ... |
|
|
677
|
+
| UI Acceptance Gate passed for UI tasks | PASS / FAIL / N/A | ... |
|
|
678
|
+
| No real secrets outside approved local environment files | PASS / FAIL | ... |
|
|
679
|
+
| Secrets redacted in docs/logs/config references | PASS / FAIL | ... |
|
|
680
|
+
| No unauthorized ORM models/entities/migrations | PASS / FAIL | ... |
|
|
681
|
+
| No unapproved business validation moved to DB constraints | PASS / FAIL | ... |
|
|
682
|
+
| No unauthorized API/Auth created | PASS / FAIL | ... |
|
|
683
|
+
| Acceptance criteria satisfied | PASS / FAIL | ... |
|
|
684
|
+
| CLI side effects reviewed | PASS / FAIL | ... |
|
|
685
|
+
| Task file and core project-control records reviewed | PASS / FAIL | ... |
|
|
686
|
+
| No secret leakage in task files/logs/reports/handbacks | PASS / FAIL | ... |
|
|
687
|
+
| No duplicate project-control IDs created | PASS / FAIL | ... |
|
|
688
|
+
| Any out-of-target changes classified | PASS / FAIL / N/A | ... |
|
|
689
|
+
| Independent review decision recorded | PASS / FAIL | ... |
|
|
690
|
+
| Auditor review decision recorded | PASS / FAIL | REQUIRED / RECOMMENDED / NOT_REQUIRED / WAIVED_BY_MAJED + reason |
|
|
691
|
+
|
|
692
|
+
Gate Status: PASS / NEEDS_FIX / BLOCKED
|
|
693
|
+
|
|
694
|
+
Root Cause if failed:
|
|
695
|
+
- ...
|
|
696
|
+
|
|
697
|
+
Required Action:
|
|
698
|
+
- ...
|
|
699
|
+
|
|
700
|
+
Independent Review:
|
|
701
|
+
- ProjectControlAgent: Required / Not Required
|
|
702
|
+
- SecurityAgent: Required / Not Required
|
|
703
|
+
- qa-agent: Required / Not Required
|
|
704
|
+
- Auditor: Required / Recommended / Not Required / Waived by Majed
|
|
705
|
+
|
|
706
|
+
Deviation Classification:
|
|
707
|
+
- Approved deviation / Needs user approval / Reverted / N/A
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
---
|
|
711
|
+
|
|
712
|
+
## 7. قاعدة مهام التأسيس التقني
|
|
713
|
+
|
|
714
|
+
في المهام الأولى من أي مشروع تقني، يجب الفصل بين:
|
|
715
|
+
|
|
716
|
+
1. Scaffold المشروع.
|
|
717
|
+
2. إعداد ORM أو أدوات التطوير.
|
|
718
|
+
3. إنشاء Schema.
|
|
719
|
+
4. تشغيل migration أو database apply commands.
|
|
720
|
+
5. تنفيذ UI.
|
|
721
|
+
6. تنفيذ Auth.
|
|
722
|
+
|
|
723
|
+
مثال:
|
|
724
|
+
|
|
725
|
+
```text
|
|
726
|
+
TASK-0001 = Scaffold only
|
|
727
|
+
TASK-0002 = ORM schema / entities
|
|
728
|
+
TASK-0003 = Migration / database apply
|
|
729
|
+
TASK-0004 = أول شاشة أو موديول
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
لا يجوز دمج هذه الخطوات في مهمة واحدة إلا إذا كان المشروع صغيرًا جدًا ووافق المستخدم صراحة.
|
|
733
|
+
|
|
734
|
+
---
|
|
735
|
+
|
|
736
|
+
## 8. قاعدة TASK-0001 الافتراضية
|
|
737
|
+
|
|
738
|
+
قواعد أول مهمة تنفيذية، وحدود scaffold وORM وقاعدة البيانات، يجب أن تأتي من الـ Technology Profile النشط.
|
|
739
|
+
|
|
740
|
+
```text
|
|
741
|
+
Use active Technology Profile:
|
|
742
|
+
tera-system/profiles/[active-profile].md
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
إذا كانت هناك حاجة لتجاوز هذا النطاق، يجب على Tera طلب موافقة المستخدم صراحة وشرح السبب.
|
|
746
|
+
|
|
747
|
+
---
|
|
748
|
+
|
|
749
|
+
## 9. قالب قسم البوابة داخل المهمة
|
|
750
|
+
|
|
751
|
+
يجب أن يضاف إلى كل ملف مهمة تنفيذية:
|
|
752
|
+
|
|
753
|
+
```markdown
|
|
754
|
+
## Pre-Execution Gate Result
|
|
755
|
+
|
|
756
|
+
| Check | Result | Notes |
|
|
757
|
+
|---|---|---|
|
|
758
|
+
| Smallest safe executable unit | PASS / FAIL | ... |
|
|
759
|
+
| One objective only | PASS / FAIL | ... |
|
|
760
|
+
| No deferrable work included | PASS / FAIL | ... |
|
|
761
|
+
| No UI unless explicitly requested | PASS / FAIL | ... |
|
|
762
|
+
| No API unless explicitly requested | PASS / FAIL | ... |
|
|
763
|
+
| No Auth unless explicitly requested | PASS / FAIL | ... |
|
|
764
|
+
| No schema/migration unless explicitly requested | PASS / FAIL | ... |
|
|
765
|
+
| No real secrets outside approved local environment files | PASS / FAIL | ... |
|
|
766
|
+
| Secret handling plan documented and redacted | PASS / FAIL | ... |
|
|
767
|
+
| CLI side effects checked | PASS / FAIL | ... |
|
|
768
|
+
| No internal contradiction between constraints and outputs | PASS / FAIL | ... |
|
|
769
|
+
| Allowed Write Targets are narrow | PASS / FAIL | ... |
|
|
770
|
+
| Acceptance criteria are testable | PASS / FAIL | ... |
|
|
771
|
+
|
|
772
|
+
Gate Status: PASS / NEEDS_REVISION / BLOCKED
|
|
773
|
+
Required Action:
|
|
774
|
+
- ...
|
|
775
|
+
```
|
|
776
|
+
|
|
777
|
+
---
|
|
778
|
+
|
|
779
|
+
## 10. سلوك Tera عند فشل البوابة
|
|
780
|
+
|
|
781
|
+
إذا فشلت البوابة:
|
|
782
|
+
|
|
783
|
+
1. لا يطلب من المستخدم اكتشاف الخلل.
|
|
784
|
+
2. لا يطلب من المستخدم كتابة تفاصيل التصحيح.
|
|
785
|
+
3. يصحح Tera المهمة ذاتيًا بناءً على القواعد.
|
|
786
|
+
4. يترك الحالة `Draft`.
|
|
787
|
+
5. يذكر باختصار ما أزاله ولماذا.
|
|
788
|
+
6. يعرض النسخة المصححة فقط للاعتماد.
|
|
789
|
+
|
|
790
|
+
---
|
|
791
|
+
|
|
792
|
+
## 11. قاعدة النماذج الضعيفة
|
|
793
|
+
|
|
794
|
+
عند استخدام نموذج ذكاء ضعيف أو متوسط، يجب على Tera الالتزام بالنمط التالي:
|
|
795
|
+
|
|
796
|
+
```text
|
|
797
|
+
Read project state → Identify next task → Prepare/draft task package → Check CLI side effects → Run checklist → Revise until PASS → Ask approval
|
|
798
|
+
```
|
|
799
|
+
|
|
800
|
+
### SoftwareDesignerAgent Preparation Rule
|
|
801
|
+
|
|
802
|
+
Tera may use `SoftwareDesignerAgent` to prepare the technical specification before delegation.
|
|
803
|
+
This agent produces `TECHNICAL_SPECIFICATION.md` covering scope, references, write targets, acceptance criteria, risk notes, and reviewer suggestions.
|
|
804
|
+
Tera must still review that specification himself, run the full `Pre-Execution Gate`, and keep final authority over approval, delegation, and closure.
|
|
805
|
+
|
|
806
|
+
لا يعتمد على الذاكرة أو الاستنتاج العام. يعتمد على القائمة والفحص.
|
|
807
|
+
|
|
808
|
+
---
|
|
809
|
+
|
|
810
|
+
## 12. القاعدة النهائية
|
|
811
|
+
|
|
812
|
+
لا يبدأ التنفيذ لأن المهمة تبدو منطقية تقنيًا.
|
|
813
|
+
|
|
814
|
+
يبدأ التنفيذ فقط إذا كانت المهمة:
|
|
815
|
+
|
|
816
|
+
```text
|
|
817
|
+
محددة + صغيرة + قابلة للاختبار + لا تحتوي توسعًا + لا تحتوي آثار أوامر جانبية مخالفة + اجتازت Pre-Execution Gate
|
|
818
|
+
```
|