@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.
Files changed (161) hide show
  1. package/LICENSE.md +13 -0
  2. package/MANIFEST.json +24 -0
  3. package/README.md +67 -0
  4. package/RELEASES.md +28 -0
  5. package/WELCOME.md +35 -0
  6. package/agents/application-blueprint.md +407 -0
  7. package/agents/auditor.md +665 -0
  8. package/agents/design-reviewer.md +392 -0
  9. package/agents/domain-expert-agent.md +510 -0
  10. package/agents/domain-research-agent.md +360 -0
  11. package/agents/engineering-agent-dotnet.md +218 -0
  12. package/agents/engineering-agent-phaser.md +275 -0
  13. package/agents/engineering-agent-typescript.md +300 -0
  14. package/agents/engineering-agent.md +143 -0
  15. package/agents/monitor.md +395 -0
  16. package/agents/production-erp-expert.md +506 -0
  17. package/agents/project-knowledge-agent.md +271 -0
  18. package/agents/qa-agent.md +498 -0
  19. package/agents/tera-business-transformation-consultant.md +290 -0
  20. package/agents/tera-client-engagement.md +891 -0
  21. package/agents/tera-software-designer.md +237 -0
  22. package/agents/tera-strategic-advisor.md +325 -0
  23. package/agents/tera-system-evolution.md +759 -0
  24. package/agents/tera.md +520 -0
  25. package/agents/ui-designer.md +426 -0
  26. package/commands/tera-approve.md +34 -0
  27. package/commands/tera-diagnose.md +47 -0
  28. package/commands/tera-gate.md +40 -0
  29. package/commands/tera-help.md +41 -0
  30. package/commands/tera-new-project.md +35 -0
  31. package/commands/tera-plan.md +34 -0
  32. package/commands/tera-request-build.md +45 -0
  33. package/commands/tera-resume.md +34 -0
  34. package/commands/tera-review.md +52 -0
  35. package/commands/tera-status.md +38 -0
  36. package/commands/tera-update.md +48 -0
  37. package/core/project-control/templates/TASK_TEMPLATE.md +146 -0
  38. package/core/tera-system/AGENT_ACTIVATION_MATRIX.md +285 -0
  39. package/core/tera-system/AGENT_DEPENDENCY_MAP.md +117 -0
  40. package/core/tera-system/AGENT_GENERATION_TEMPLATE.md +312 -0
  41. package/core/tera-system/AGENT_PERMISSION_MODEL.md +343 -0
  42. package/core/tera-system/AIS_PROTOCOL.md +191 -0
  43. package/core/tera-system/TERA_AGENT_CONDUCT.md +102 -0
  44. package/core/tera-system/TERA_CONTINUOUS_IMPROVEMENT_POLICY.md +111 -0
  45. package/core/tera-system/TERA_DISTRIBUTION_POLICY.md +291 -0
  46. package/core/tera-system/TERA_PROJECT_DECISION.md +281 -0
  47. package/core/tera-system/TERA_USER_GUIDE.md +462 -0
  48. package/core/tera-system/TOOLING_AND_MCP_POLICY.md +285 -0
  49. package/core/tera-system/TeraApplicationQuestionBank.md +362 -0
  50. package/core/tera-system/TeraArchitectureMap.md +91 -0
  51. package/core/tera-system/TeraClientPolicy.md +366 -0
  52. package/core/tera-system/TeraHelperAgents.md +970 -0
  53. package/core/tera-system/TeraPolicyMap.md +131 -0
  54. package/core/tera-system/TeraPreExecutionGate.md +818 -0
  55. package/core/tera-system/TeraPreparationDocumentationGovernance.md +370 -0
  56. package/core/tera-system/TeraPricingPolicy.md +674 -0
  57. package/core/tera-system/TeraProjectIntakePolicy.md +164 -0
  58. package/core/tera-system/TeraScenarioStressTests.md +168 -0
  59. package/core/tera-system/TeraSubAgents.md +854 -0
  60. package/core/tera-system/TeraSystemMaintenanceChecklist.md +80 -0
  61. package/core/tera-system/TeraTokenPolicy.md +362 -0
  62. package/core/tera-system/Tera_Project_Preparation_Files.md +1045 -0
  63. package/core/tera-system/agent-helpers/application-blueprint-details.md +177 -0
  64. package/core/tera-system/client-helpers/tera-client-engagement-discovery-domains.md +99 -0
  65. package/core/tera-system/client-helpers/tera-client-engagement-gates.md +258 -0
  66. package/core/tera-system/client-helpers/tera-client-engagement-pricing.md +341 -0
  67. package/core/tera-system/client-helpers/tera-client-engagement-protocols.md +692 -0
  68. package/core/tera-system/consulting-helpers/BTCA_METHODOLOGY_FRAMEWORK.md +195 -0
  69. package/core/tera-system/consulting-helpers/BTCA_REPORT_TEMPLATES.md +266 -0
  70. package/core/tera-system/design-system/ACCESSIBILITY_RULES.md +31 -0
  71. package/core/tera-system/design-system/COMPONENT_LIBRARY_SCHEMA.md +46 -0
  72. package/core/tera-system/design-system/DESIGN_MD_INTEGRATION.md +59 -0
  73. package/core/tera-system/design-system/DESIGN_REVIEW_STANDARDS.md +241 -0
  74. package/core/tera-system/design-system/DESIGN_SOURCE_PROTOCOL.md +61 -0
  75. package/core/tera-system/design-system/DESIGN_SYSTEM_OVERVIEW.md +66 -0
  76. package/core/tera-system/design-system/DESIGN_TOKENS_SCHEMA.md +66 -0
  77. package/core/tera-system/design-system/EXTERNAL_REFERENCE_ANALYSIS.md +52 -0
  78. package/core/tera-system/design-system/FIGMA_INTEGRATION.md +138 -0
  79. package/core/tera-system/design-system/INTERNAL_KITS_INDEX.md +26 -0
  80. package/core/tera-system/design-system/LAYOUT_PATTERNS.md +52 -0
  81. package/core/tera-system/design-system/MOBILE_UI_UX_STANDARDS.md +342 -0
  82. package/core/tera-system/design-system/RTL_LTR_RULES.md +39 -0
  83. package/core/tera-system/design-system/UI_ACCEPTANCE_GATE.md +80 -0
  84. package/core/tera-system/design-system/kits/KIT_ADMIN_DASHBOARD.md +102 -0
  85. package/core/tera-system/engineering-governance/ENGINEERING_AGENT_RESPONSIBILITIES.md +210 -0
  86. package/core/tera-system/engineering-governance/ENGINEERING_BEST_PRACTICES.md +468 -0
  87. package/core/tera-system/engineering-governance/ENGINEERING_GOVERNANCE_GATE.md +131 -0
  88. package/core/tera-system/engineering-governance/ENGINEERING_REVIEW_CHECKLIST.md +129 -0
  89. package/core/tera-system/engineering-governance/QUALITY_GATE_THRESHOLDS.md +159 -0
  90. package/core/tera-system/engineering-helpers/engineering-agent-core.md +171 -0
  91. package/core/tera-system/knowledge-base/OPENHANDS_ARCHITECTURE_REFERENCE.md +243 -0
  92. package/core/tera-system/knowledge-base/manufacturing/00_INDEX.md +32 -0
  93. package/core/tera-system/knowledge-base/manufacturing/01_MANUFACTURING_ERP_CORE_CONCEPTS.md +7 -0
  94. package/core/tera-system/knowledge-base/manufacturing/02_SAP_MANUFACTURING_RESEARCH.md +7 -0
  95. package/core/tera-system/knowledge-base/manufacturing/03_DYNAMICS_365_MANUFACTURING_RESEARCH.md +7 -0
  96. package/core/tera-system/knowledge-base/manufacturing/04_ORACLE_MANUFACTURING_RESEARCH.md +7 -0
  97. package/core/tera-system/knowledge-base/manufacturing/05_ODOO_MANUFACTURING_RESEARCH.md +7 -0
  98. package/core/tera-system/knowledge-base/manufacturing/06_ERPNEXT_MANUFACTURING_RESEARCH.md +7 -0
  99. package/core/tera-system/knowledge-base/manufacturing/07_MANUFACTURING_COSTING_GUIDE.md +7 -0
  100. package/core/tera-system/knowledge-base/manufacturing/08_PRODUCTION_DISCOVERY_QUESTIONS.md +7 -0
  101. package/core/tera-system/knowledge-base/manufacturing/09_MANUFACTURING_BLUEPRINT_CHECKLIST.md +7 -0
  102. package/core/tera-system/knowledge-base/manufacturing/10_PRODUCTION_TEST_SCENARIOS.md +7 -0
  103. package/core/tera-system/knowledge-base/manufacturing/11_QUALITY_REWORK_AND_SCRAP_GUIDE.md +7 -0
  104. package/core/tera-system/knowledge-base/manufacturing/12_MRP_AND_PLANNING_GUIDE.md +7 -0
  105. package/core/tera-system/knowledge-base/manufacturing/13_LOCAL_AND_REGIONAL_MANUFACTURING_CONTEXT.md +7 -0
  106. package/core/tera-system/knowledge-base/manufacturing/14_VENDOR_COMPARISON_MATRIX.md +7 -0
  107. package/core/tera-system/product-standards/maintenance-apps/BEST_PRACTICES_DOMAIN.md +325 -0
  108. package/core/tera-system/product-standards/maintenance-apps/STANDARD_DEFINITION.md +142 -0
  109. package/core/tera-system/profiles/PROFILES_INDEX.md +57 -0
  110. package/core/tera-system/profiles/TEMPLATE.md +47 -0
  111. package/core/tera-system/profiles/dotnet-blazor-ef.md +76 -0
  112. package/core/tera-system/profiles/dotnet-razorpages-adonet.md +137 -0
  113. package/core/tera-system/profiles/dotnet-wpf-sqlite.md +159 -0
  114. package/core/tera-system/profiles/effect-bun-opencode.md +109 -0
  115. package/core/tera-system/profiles/flutter-mobile.md +369 -0
  116. package/core/tera-system/profiles/nextjs-prisma.md +110 -0
  117. package/core/tera-system/profiles/phaser-react-node.md +302 -0
  118. package/core/tera-system/profiles/react-pwa.md +97 -0
  119. package/core/tera-system/runtime/CLIENT_DISCOVERY_PROTOCOL.md +145 -0
  120. package/core/tera-system/runtime/DOMAIN_INTELLIGENCE_PROTOCOL.md +124 -0
  121. package/core/tera-system/runtime/MVP_DEFINITION_PROTOCOL.md +176 -0
  122. package/core/tera-system/runtime/TERA_RUNTIME_CHECKLISTS.md +646 -0
  123. package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS.md +50 -0
  124. package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CLIENT.md +355 -0
  125. package/core/tera-system/runtime/TERA_RUNTIME_PROTOCOLS_CORE.md +799 -0
  126. package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES.md +908 -0
  127. package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_DELIVERY.md +584 -0
  128. package/core/tera-system/runtime/TERA_RUNTIME_TEMPLATES_PREPARATION.md +376 -0
  129. package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_PROTOCOL.md +335 -0
  130. package/core/tera-system/runtime/TERA_SOLUTION_PREPARATION_TEMPLATES.md +397 -0
  131. package/core/tera-system/runtime/VERSION_LIFECYCLE_PROTOCOL.md +296 -0
  132. package/core/tera-system/semgrep-rules/README.md +32 -0
  133. package/core/tera-system/semgrep-rules/tera-security.yml +66 -0
  134. package/core/tera-system/semgrep-rules/tera-standards.yml +49 -0
  135. package/core/tera-system/teranoo-ui/README.md +48 -0
  136. package/core/tera-system/teranoo-ui/components/button.tsx +51 -0
  137. package/core/tera-system/teranoo-ui/components/card.tsx +49 -0
  138. package/core/tera-system/teranoo-ui/components/dashboard-layout.tsx +36 -0
  139. package/core/tera-system/teranoo-ui/components/data-table.tsx +146 -0
  140. package/core/tera-system/teranoo-ui/components/empty-state.tsx +31 -0
  141. package/core/tera-system/teranoo-ui/components/kpi-card.tsx +42 -0
  142. package/core/tera-system/teranoo-ui/components/page-header.tsx +25 -0
  143. package/core/tera-system/teranoo-ui/components/search-input.tsx +40 -0
  144. package/core/tera-system/teranoo-ui/components/sidebar.tsx +66 -0
  145. package/core/tera-system/teranoo-ui/components/stats-card.tsx +37 -0
  146. package/core/tera-system/teranoo-ui/registry.json +77 -0
  147. package/core/tera-system/teranoo-ui/styles/teranoo-theme.css +61 -0
  148. package/opencode.tera.example.json +30 -0
  149. package/package.json +37 -0
  150. package/scripts/build.mjs +110 -0
  151. package/scripts/install.js +244 -0
  152. package/scripts/lib/license.mjs +90 -0
  153. package/scripts/lib/public-key.pem +3 -0
  154. package/scripts/tera-license.mjs +63 -0
  155. package/tools/tera-clean.ps1 +97 -0
  156. package/tools/tera-fetch.ps1 +165 -0
  157. package/tools/tera-release.ps1 +96 -0
  158. package/tools/tera-schedule.ps1 +59 -0
  159. package/tools/tera-update.ps1 +472 -0
  160. package/tools/tera-watch.ps1 +154 -0
  161. 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
+ ```