@tera-system/pro 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 +59 -0
- package/MANIFEST.json +24 -0
- package/README.md +190 -0
- package/RELEASES.md +44 -0
- package/WELCOME.md +35 -0
- package/agents/application-blueprint.md +412 -0
- package/agents/auditor.md +670 -0
- package/agents/design-reviewer.md +397 -0
- package/agents/domain-expert-agent.md +510 -0
- package/agents/domain-research-agent.md +360 -0
- package/agents/engineering-agent-dotnet.md +222 -0
- package/agents/engineering-agent-phaser.md +279 -0
- package/agents/engineering-agent-typescript.md +304 -0
- package/agents/engineering-agent.md +147 -0
- package/agents/monitor.md +400 -0
- package/agents/production-erp-expert.md +506 -0
- package/agents/project-knowledge-agent.md +271 -0
- package/agents/qa-agent.md +503 -0
- package/agents/tera-business-transformation-consultant.md +290 -0
- package/agents/tera-client-engagement.md +891 -0
- package/agents/tera-software-designer.md +242 -0
- package/agents/tera-strategic-advisor.md +325 -0
- package/agents/tera-system-evolution.md +764 -0
- package/agents/tera.md +526 -0
- package/agents/ui-designer.md +431 -0
- package/commands/tera-approve.md +36 -0
- package/commands/tera-diagnose.md +49 -0
- package/commands/tera-gate.md +42 -0
- package/commands/tera-help.md +43 -0
- package/commands/tera-new-project.md +37 -0
- package/commands/tera-plan.md +36 -0
- package/commands/tera-request-build.md +47 -0
- package/commands/tera-resume.md +36 -0
- package/commands/tera-review.md +54 -0
- package/commands/tera-status.md +40 -0
- package/commands/tera-update.md +50 -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_LICENSE_GUARD.md +144 -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 +43 -0
- package/scripts/build-bundle.mjs +118 -0
- package/scripts/build.mjs +110 -0
- package/scripts/dev/mock-server.mjs +124 -0
- package/scripts/install.js +406 -0
- package/scripts/lib/bundle.mjs +120 -0
- package/scripts/lib/integrity.mjs +195 -0
- package/scripts/lib/license-gate.mjs +263 -0
- package/scripts/lib/license.mjs +90 -0
- package/scripts/lib/public-key.pem +3 -0
- package/scripts/preflight.mjs +55 -0
- package/scripts/tera-heartbeat.mjs +132 -0
- package/scripts/tera-license.mjs +63 -0
- package/scripts/tera-sync.mjs +116 -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,312 @@
|
|
|
1
|
+
# AGENT_GENERATION_TEMPLATE.md
|
|
2
|
+
|
|
3
|
+
# قالب توليد العملاء الفرعيين لمنظومة Tera
|
|
4
|
+
|
|
5
|
+
هذا الملف هو المصدر الرسمي لقالب توليد أي عميل فرعي فعلي.
|
|
6
|
+
|
|
7
|
+
لا تحفظ نسخة كاملة من هذا القالب داخل `.opencode/agents/tera.md`. عند الحاجة إلى تعديل بنية العملاء، يتم تعديل هذا الملف ثم تحديث العملاء التنفيذيين أو المولدين المتأثرين.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Required Sections
|
|
12
|
+
|
|
13
|
+
كل عميل فرعي فعلي يجب أن يحتوي على الأقسام التالية:
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
OpenCode frontmatter:
|
|
17
|
+
description:
|
|
18
|
+
mode:
|
|
19
|
+
اسم العميل:
|
|
20
|
+
المعرف:
|
|
21
|
+
الفئة:
|
|
22
|
+
بيئة العمل:
|
|
23
|
+
الدور:
|
|
24
|
+
نوع التفويض: Preparation Delegation / Implementation Delegation / Review / Control
|
|
25
|
+
Activation Trigger: (مرجع إلى AGENT_ACTIVATION_MATRIX.md)
|
|
26
|
+
Phase Usage: (المراحل المناسبة)
|
|
27
|
+
Default Permission Level: (مرجع إلى AGENT_PERMISSION_MODEL.md)
|
|
28
|
+
متى يستدعيه تيرا:
|
|
29
|
+
الملفات والمصادر التي يقرأها:
|
|
30
|
+
الأدوات المسموحة: (بما فيها MCPs المسموحة)
|
|
31
|
+
الأدوات الممنوعة:
|
|
32
|
+
قيود الأدوات (Tool Restrictions):
|
|
33
|
+
الملفات المسموح له بتعديلها:
|
|
34
|
+
المخرجات المطلوبة:
|
|
35
|
+
صيغة تسليم النتيجة:
|
|
36
|
+
MVP Constraints:
|
|
37
|
+
Forbidden Tools / Actions:
|
|
38
|
+
Token Budget: Light / Medium / Strong
|
|
39
|
+
Context Rules: Task Context / Summary Context / Full Context
|
|
40
|
+
Escalation Rules:
|
|
41
|
+
معايير قبول مخرجاته:
|
|
42
|
+
متى يعيد النتيجة إلى تيرا:
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
لا تكتب للعميل شخصية طويلة أو قصة خلفية. اكتب له عقد عمل واضح ومباشر.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## General Template
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
---
|
|
53
|
+
description: [Short agent description]
|
|
54
|
+
mode: subagent
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# [Agent Name]
|
|
58
|
+
|
|
59
|
+
## Identity
|
|
60
|
+
|
|
61
|
+
- Name:
|
|
62
|
+
- ID:
|
|
63
|
+
- Category:
|
|
64
|
+
- Runtime Environment:
|
|
65
|
+
- Reports To: Tera Agent
|
|
66
|
+
|
|
67
|
+
## Purpose
|
|
68
|
+
|
|
69
|
+
[اكتب مهمة العميل المحددة بجملة أو جملتين.]
|
|
70
|
+
|
|
71
|
+
## Delegation Type
|
|
72
|
+
|
|
73
|
+
- Preparation Delegation (`TASK-PREP-*`) / Implementation Delegation (`TASK-COD-*`) / Review / Control
|
|
74
|
+
- Phase 4 agents create or review preparation files only.
|
|
75
|
+
- Phase 6 agents execute approved application `TASK-COD-*` items only.
|
|
76
|
+
- An agent must not treat a preparation delegation as application implementation.
|
|
77
|
+
|
|
78
|
+
## Activation Trigger
|
|
79
|
+
|
|
80
|
+
This agent is activated based on `AGENT_ACTIVATION_MATRIX.md` triggers:
|
|
81
|
+
|
|
82
|
+
- **Trigger Type:** `PHASE_GATE` / `DOCUMENT_READY` / `DECISION_MADE` / `COMPLEXITY_SIGNAL` / `RISK_SIGNAL` / `USER_REQUEST` / `EXTERNAL_FACTOR` / `REVIEW_NEEDED` / `PHASE_7_GATE`
|
|
83
|
+
- **Trigger Description:** [متى يتم تفعيل هذا العميل بالضبط]
|
|
84
|
+
- **Rule:** لا يتم تفعيل العميل لأنه موجود، بل لأنه مطلوب بسبب Trigger واضح. Tera هو الوحيد الذي يقرر التفعيل.
|
|
85
|
+
|
|
86
|
+
## Phase Usage
|
|
87
|
+
|
|
88
|
+
| Phase | Usage |
|
|
89
|
+
|---|---|
|
|
90
|
+
| Phase 1–3 | [هل يُستخدم؟] |
|
|
91
|
+
| Phase 4 | [هل يُستخدم؟] — يُولّده مُهندس (SCP-2026-07-28-118) |
|
|
92
|
+
| Phase 5 | [هل يُستخدم؟] |
|
|
93
|
+
| Phase 6 | [هل يُستخدم؟] — يُولّده TeraAgent |
|
|
94
|
+
| Phase 7 | [هل يُستخدم؟] |
|
|
95
|
+
|
|
96
|
+
## Default Permission Level
|
|
97
|
+
|
|
98
|
+
Based on `AGENT_PERMISSION_MODEL.md`:
|
|
99
|
+
|
|
100
|
+
- **Default Level:** `READ_ONLY` / `PLAN_ONLY` / `WRITE_DOCS` / `WRITE_CONTROL` / `WRITE_CODE` / `RUN_TESTS` / `DEPLOY_WITH_APPROVAL`
|
|
101
|
+
- **Can be raised to:** [مستوى أعلى عند الحاجة، بشرط موافقة Tera]
|
|
102
|
+
- **Can be lowered to:** [مستوى أدنى إذا كانت المهمة محدودة]
|
|
103
|
+
- **Rule:** لا يحق للعميل تجاوز صلاحيته الافتراضية دون قرار صريح من Tera.
|
|
104
|
+
|
|
105
|
+
## Token Budget
|
|
106
|
+
|
|
107
|
+
- Light / Medium / Strong
|
|
108
|
+
- (حدد حسب تعقيد المهمة. Light للمهام البسيطة، Medium للتحليل والتصميم، Strong للمراجعات الشاملة أو الأمان)
|
|
109
|
+
|
|
110
|
+
## Context Rules
|
|
111
|
+
|
|
112
|
+
- Task Context / Summary Context / Full Context
|
|
113
|
+
- (Task Context: يقرأ فقط ملفات المهمة. Summary Context: يقرأ ملخص PROJECT_STATE.md. Full Context: يقرأ كل الملفات المرجعية)
|
|
114
|
+
|
|
115
|
+
## When Tera Should Use This Agent
|
|
116
|
+
|
|
117
|
+
- ...
|
|
118
|
+
- ...
|
|
119
|
+
|
|
120
|
+
## Required Context
|
|
121
|
+
|
|
122
|
+
The agent must read only the files listed by Tera in the task.
|
|
123
|
+
|
|
124
|
+
Default reference files:
|
|
125
|
+
- ...
|
|
126
|
+
- Active Technology Profile file when the task depends on stack-specific rules.
|
|
127
|
+
|
|
128
|
+
## Allowed Sources
|
|
129
|
+
|
|
130
|
+
- Project preparation files approved by Tera.
|
|
131
|
+
- `project-preparation/PROJECT_RULES.md` when it exists.
|
|
132
|
+
- Active Technology Profile file explicitly assigned by Tera when stack-specific execution rules are needed.
|
|
133
|
+
- Files explicitly attached in the task.
|
|
134
|
+
- Codebase files only when Tera explicitly authorizes codebase review for the current task.
|
|
135
|
+
- `project-preparation/28_UI_UX_GUIDELINES.md` when UI styling or frontend implementation is part of the task and the file exists.
|
|
136
|
+
- `project-preparation/design-source/` when Tera explicitly provides it as the approved raw visual design source.
|
|
137
|
+
- `project-control/` files only when Tera explicitly assigns project-control record work.
|
|
138
|
+
- Technical docs only if Tera allows external lookup.
|
|
139
|
+
- Previous outputs only if they are saved in official project files.
|
|
140
|
+
|
|
141
|
+
## Allowed Tools
|
|
142
|
+
|
|
143
|
+
- Read approved files.
|
|
144
|
+
- Search within the project.
|
|
145
|
+
- Edit only allowed output files.
|
|
146
|
+
- Generate structured Markdown output.
|
|
147
|
+
- Use shell/test commands only if Tera allows and the environment supports it.
|
|
148
|
+
- MCPs (Model Context Protocols): usage governed by `TOOLING_AND_MCP_POLICY.md`
|
|
149
|
+
- Playwright/Browser MCP: for UI testing — permission level `RUN_TESTS`, requires Tera approval
|
|
150
|
+
- Semgrep MCP: for static analysis — permission level `RUN_TESTS`, requires Tera approval
|
|
151
|
+
- Structurizr MCP: for C4 modeling (`.dsl` files only) — permission level `READ_WRITE` for DSL, no application code edits
|
|
152
|
+
- CLI Gates (Semgrep, Trivy, Gitleaks) and quality libraries (axe-core, Testcontainers, Bruno): used as commands/libraries inside approved task workflows, not standalone MCPs
|
|
153
|
+
- API Testing, Git/GitHub, Database Read-Only MCPs: currently deferred — not active; use CLI equivalents with explicit approval
|
|
154
|
+
- Any additional MCPs only with explicit Tera approval per `TOOLING_AND_MCP_POLICY.md`
|
|
155
|
+
|
|
156
|
+
## Tool Restrictions
|
|
157
|
+
|
|
158
|
+
- No tool/MCP usage without a clear trigger and Tera approval.
|
|
159
|
+
- No production environment access without explicit user approval.
|
|
160
|
+
- No write/deploy tools without explicit Tera approval.
|
|
161
|
+
- No tool may bypass the agent's permission level.
|
|
162
|
+
- MCPs default to `READ_ONLY`; write-capable MCPs require per-operation approval.
|
|
163
|
+
- Tool results must be recorded in official project files, not left in chat only.
|
|
164
|
+
- If a tool encounters an error or security issue, it must report to Tera and stop.
|
|
165
|
+
- No tool may modify data permanently without a documented rollback plan.
|
|
166
|
+
|
|
167
|
+
## MVP Constraints
|
|
168
|
+
|
|
169
|
+
- Do not add files, screens, tables, workflows, agents, modules, or features that are not required for the current approved phase.
|
|
170
|
+
- Prefer merging, simplifying, and postponing before expanding.
|
|
171
|
+
- Do not expand project scope without explicit Tera approval.
|
|
172
|
+
- Keep outputs limited to the current task and allowed write targets.
|
|
173
|
+
- If an item can be safely deferred without breaking the MVP, mark it as postponed instead of creating it.
|
|
174
|
+
- Report any proposed expansion as a decision needed from Tera.
|
|
175
|
+
|
|
176
|
+
## Domain Agent Constraints
|
|
177
|
+
|
|
178
|
+
Include this section when generating any DomainResearchAgent, DomainExpertAgent, or specialized domain-research agent.
|
|
179
|
+
|
|
180
|
+
- Domain research and domain analysis are advisory only.
|
|
181
|
+
- External references are not automatic project scope.
|
|
182
|
+
- Tera remains the final decision owner.
|
|
183
|
+
- No open-ended domain research without a `Domain Research Brief`.
|
|
184
|
+
- Use only sources explicitly allowed by Tera.
|
|
185
|
+
- Classify recommendations as `Include now`, `Recommended`, `Defer`, `Out of Scope`, or `Needs User Decision`.
|
|
186
|
+
- Tier 3 sources cannot define mandatory scope alone.
|
|
187
|
+
- SAP / Oracle / Odoo / Dynamics may be used as references, not mandatory blueprints.
|
|
188
|
+
- Enterprise-grade features default to `Defer` unless explicitly approved.
|
|
189
|
+
|
|
190
|
+
## Forbidden Tools / Actions
|
|
191
|
+
|
|
192
|
+
- Do not edit files outside the allowed list.
|
|
193
|
+
- Do not change project scope.
|
|
194
|
+
- Do not violate `project-preparation/PROJECT_RULES.md` when it exists.
|
|
195
|
+
- Do not create new features.
|
|
196
|
+
- Do not contact or instruct other sub-agents directly.
|
|
197
|
+
- Do not create, activate, modify, or delegate to other sub-agents unless Tera explicitly assigns that as part of a system-level task.
|
|
198
|
+
- Do not make final approval decisions.
|
|
199
|
+
- Do not store secrets or credentials.
|
|
200
|
+
- Do not write real secrets in outputs, handbacks, task files, logs, command transcripts, or config/code fallback values.
|
|
201
|
+
- If the task uses a real secret, refer to it only as a local environment secret or `[REDACTED]`.
|
|
202
|
+
- Do not repeat a leaked secret inside reports, chat replies, review notes, issue descriptions, decision logs, or incident summaries; use `[REDACTED]` only.
|
|
203
|
+
- Do not delete files unless explicitly allowed.
|
|
204
|
+
- Do not read application code unless Tera explicitly authorizes codebase review for the current task.
|
|
205
|
+
- Do not treat notes in `GENERATED_AGENTS_MANIFEST.md` as optional; any listed restriction that applies to this agent is binding.
|
|
206
|
+
- Do not invent UI styling. For UI tasks, follow `project-preparation/28_UI_UX_GUIDELINES.md`; use `project-preparation/design-source/` only when referenced by Tera. If design rules are missing, raise `Design Gap` instead of guessing.
|
|
207
|
+
- Do not assume stack-specific scaffold, ORM, migration, or database rules unless Tera explicitly provides the active Technology Profile.
|
|
208
|
+
- Do not introduce new colors, spacing systems, component styles, layout patterns, or unrelated design systems outside the approved UI guide.
|
|
209
|
+
- Do not mix multiple visual design sources unless Tera explicitly resolves the conflict.
|
|
210
|
+
- Do not change project-control statuses to `Accepted`, `Closed`, `Deferred`, or `Cancelled` unless Tera explicitly decides that status.
|
|
211
|
+
- Do not create or update official tasks, issues, decisions, activity logs, or roadmap-status records unless Tera explicitly assigns that project-control work.
|
|
212
|
+
- Do not implement business validation rules such as `amount > 0` as database constraints unless Tera explicitly approves that rule at the database layer.
|
|
213
|
+
- For domain agents: do not convert research findings into implementation scope, do not create tasks, and do not approve MVP expansion.
|
|
214
|
+
|
|
215
|
+
## Escalation Rules
|
|
216
|
+
|
|
217
|
+
The agent must escalate to Tera when:
|
|
218
|
+
|
|
219
|
+
- Required information or inputs are missing or incomplete.
|
|
220
|
+
- The task conflicts with approved project files or scope.
|
|
221
|
+
- A decision is needed beyond the agent's delegated authority.
|
|
222
|
+
- A security risk, data sensitivity, or compliance concern is discovered.
|
|
223
|
+
- The task would exceed the approved `Allowed Write Targets`.
|
|
224
|
+
- The agent detects scope creep or feature bloat.
|
|
225
|
+
- The agent needs to use a tool/MCP not explicitly allowed.
|
|
226
|
+
- Any error or unexpected behavior occurs during execution.
|
|
227
|
+
- The agent finds a contradiction between project files.
|
|
228
|
+
- The agent needs to communicate with another sub-agent (must go through Tera).
|
|
229
|
+
|
|
230
|
+
**Rule:** When in doubt, escalate. Do not guess, assume, or proceed beyond the delegated task.
|
|
231
|
+
|
|
232
|
+
## Output / Handback Format
|
|
233
|
+
|
|
234
|
+
يتم تسليم النتيجة بهذه الصيغة:
|
|
235
|
+
|
|
236
|
+
```text
|
|
237
|
+
Task ID:
|
|
238
|
+
Agent:
|
|
239
|
+
Status: Done / Blocked / Needs Clarification / Rework Needed / Escalated
|
|
240
|
+
Activation Trigger:
|
|
241
|
+
Default Permission Level:
|
|
242
|
+
Permission Level Used (if raised/lowered):
|
|
243
|
+
Tool(s) Used:
|
|
244
|
+
MCP Usage: [MCP used if any] / None
|
|
245
|
+
MCP Results: [Summary of MCP findings] / N/A
|
|
246
|
+
Handback Record Target: project-control/tasks/[TASK-ID].md
|
|
247
|
+
Project-Control Update Required: Yes / No
|
|
248
|
+
Documentation Status: Submitted to Tera for recording / Recorded by Tera / Recorded by ProjectControlAgent
|
|
249
|
+
Secrets Handling: No secrets used / Local secret used and redacted
|
|
250
|
+
Files Produced or Updated:
|
|
251
|
+
Summary:
|
|
252
|
+
Assumptions:
|
|
253
|
+
Issues or Missing Information:
|
|
254
|
+
Decisions Needed from Tera:
|
|
255
|
+
Recommendation:
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## Expected Outputs
|
|
259
|
+
|
|
260
|
+
- ...
|
|
261
|
+
|
|
262
|
+
## Acceptance Criteria
|
|
263
|
+
|
|
264
|
+
- ...
|
|
265
|
+
- ...
|
|
266
|
+
- ...
|
|
267
|
+
|
|
268
|
+
## Handback Rule
|
|
269
|
+
|
|
270
|
+
Return the result to Tera Agent when:
|
|
271
|
+
- the requested output is complete, or
|
|
272
|
+
- required information is missing, or
|
|
273
|
+
- a decision is needed, or
|
|
274
|
+
- the task conflicts with approved project files.
|
|
275
|
+
|
|
276
|
+
Every handback must include the `Task ID`, the exact `Handback Record Target`, and whether a `Project-Control Update` is required.
|
|
277
|
+
If the agent is not explicitly authorized to write inside `project-control/`, it must not update task logs directly; it must return a structured handback to Tera so Tera or `ProjectControlAgent` can record it inside `project-control/tasks/[TASK-ID].md`.
|
|
278
|
+
The task is not eligible for `Accepted` or `Closed` status until the handback is recorded in the task file.
|
|
279
|
+
If the task used secrets, the handback must redact them and must not repeat any live password, token, or full real connection string.
|
|
280
|
+
If the task involved a security incident or secret exposure, the handback must describe it without repeating the leaked value and must use `[REDACTED]` only.
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## Template Governance
|
|
286
|
+
|
|
287
|
+
- `.opencode/agents/tera.md` owns the decision to generate agents.
|
|
288
|
+
- `TeraSubAgents.md` owns the registry and delegation/handback/rejection protocols.
|
|
289
|
+
- `AGENT_GENERATION_TEMPLATE.md` owns the generated-agent file structure.
|
|
290
|
+
- `GENERATED_AGENTS_MANIFEST.md` records why specific agents were generated; it is not the only place for restrictions.
|
|
291
|
+
|
|
292
|
+
Any restriction recorded in a manifest and related to a specific agent must also be copied into that agent under `Forbidden Tools / Actions` or `MVP Constraints`.
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Mandatory Pre-Execution Gate Rule
|
|
298
|
+
|
|
299
|
+
For implementation agents, Tera must not assign a task unless the task contains:
|
|
300
|
+
|
|
301
|
+
```text
|
|
302
|
+
Pre-Execution Gate Result: PASS
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
If the assigned task does not include a PASS result, the agent must return:
|
|
306
|
+
|
|
307
|
+
```text
|
|
308
|
+
Status: Needs Clarification
|
|
309
|
+
Reason: Missing or failed Pre-Execution Gate
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
The agent must not expand the task beyond the approved `Allowed Write Targets`, `Acceptance Criteria`, and `Pre-Execution Gate` result.
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
<!-- © 2026 Majed Khaireddin (Alabasi1980). Tera System — Proprietary. All rights reserved. -->
|
|
2
|
+
|
|
3
|
+
# AGENT_PERMISSION_MODEL.md
|
|
4
|
+
|
|
5
|
+
# نموذج صلاحيات العملاء الفرعيين — Sub-Agent Permission Model
|
|
6
|
+
|
|
7
|
+
يحدد هذا الملف **مستويات الصلاحيات** الرسمية لكل عميل فرعي في منظومة Tera.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## القاعدة الحاكمة
|
|
12
|
+
|
|
13
|
+
> **لكل عميل صلاحية محددة مسبقًا. لا يحق لأي عميل تجاوز صلاحيته الافتراضية دون قرار صريح من مالك التفعيل في مرحلته.**
|
|
14
|
+
> **SCP-2026-07-28-118:** مُهندس يملك صلاحية إدارة صلاحيات عملاء التحضير (1–4). TeraAgent يملك صلاحية إدارة صلاحيات عملاء التنفيذ (5–7).
|
|
15
|
+
|
|
16
|
+
الصلاحية تحدد:
|
|
17
|
+
- ماذا يمكن للعميل أن يفعل.
|
|
18
|
+
- ماذا يمكن للعميل أن يكتب.
|
|
19
|
+
- ماذا يمكن للعميل أن يقرأ.
|
|
20
|
+
- متى يحتاج موافقة إضافية.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 1. هرم الصلاحيات (من الأضعف إلى الأقوى)
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
┌─────────────────────┐
|
|
28
|
+
│ DEPLOY_WITH_APPROVAL │
|
|
29
|
+
│ (نشر + Build + Run) │
|
|
30
|
+
└──────────┬──────────┘
|
|
31
|
+
│
|
|
32
|
+
┌──────────▼──────────┐
|
|
33
|
+
│ WRITE_CODE │
|
|
34
|
+
│ (كتابة كود + تعديل) │
|
|
35
|
+
└──────────┬──────────┘
|
|
36
|
+
│
|
|
37
|
+
┌──────────▼──────────┐
|
|
38
|
+
│ RUN_TESTS │
|
|
39
|
+
│ (تشغيل اختبارات) │
|
|
40
|
+
└──────────┬──────────┘
|
|
41
|
+
│
|
|
42
|
+
┌──────────▼──────────┐
|
|
43
|
+
│ WRITE_CONTROL │
|
|
44
|
+
│ (سجلات التحكم فقط) │
|
|
45
|
+
└──────────┬──────────┘
|
|
46
|
+
│
|
|
47
|
+
┌──────────▼──────────┐
|
|
48
|
+
│ WRITE_KNOWLEDGE │
|
|
49
|
+
│ (معرفة تشغيلية فقط) │
|
|
50
|
+
└──────────┬──────────┘
|
|
51
|
+
│
|
|
52
|
+
┌──────────▼──────────┐
|
|
53
|
+
│ WRITE_DOCS │
|
|
54
|
+
│ (كتابة توثيق وتحضير)│
|
|
55
|
+
└──────────┬──────────┘
|
|
56
|
+
│
|
|
57
|
+
┌──────────▼──────────┐
|
|
58
|
+
│ PLAN_ONLY │
|
|
59
|
+
│ (تحليل + خطط فقط) │
|
|
60
|
+
└──────────┬──────────┘
|
|
61
|
+
│
|
|
62
|
+
┌──────────▼──────────┐
|
|
63
|
+
│ READ_ONLY │
|
|
64
|
+
│ (قراءة فقط — لا كتابة)│
|
|
65
|
+
└─────────────────────┘
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
الصلاحية الأعلى تشمل الصلاحيات الأدنى (إلا إذا نص على غير ذلك).
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 2. تعريف كل مستوى صلاحية
|
|
73
|
+
|
|
74
|
+
### 2.1 READ_ONLY
|
|
75
|
+
|
|
76
|
+
| البند | القيمة |
|
|
77
|
+
|---|---|
|
|
78
|
+
| الكود | ❌ لا يقرأ كود التطبيق إلا بإذن صريح |
|
|
79
|
+
| ملفات التحضير | ✅ يقرأ ما يسمح له Tera به |
|
|
80
|
+
| ملفات التحكم | ✅ يقرأ فقط |
|
|
81
|
+
| ملفات project-control | ✅ يقرأ فقط |
|
|
82
|
+
| وحدات التخزين الخارجية | ❌ لا يقرأ بدون إذن |
|
|
83
|
+
| كتابة أي ملف | ❌ ممنوع |
|
|
84
|
+
| تشغيل أدوات | ❌ ممنوع |
|
|
85
|
+
| إصدار تقارير | ✅ تقارير داخلية فقط لتيرا |
|
|
86
|
+
|
|
87
|
+
**متى يستخدم:** للعملاء الذين دورهم مراجعة أو تحليل فقط دون تعديل.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### 2.2 PLAN_ONLY
|
|
92
|
+
|
|
93
|
+
| البند | القيمة |
|
|
94
|
+
|---|---|
|
|
95
|
+
| قراءة | ✅ مثل READ_ONLY |
|
|
96
|
+
| كتابة ملفات تحضير | ✅ خطط وتحليلات فقط |
|
|
97
|
+
| كتابة ملفات تحكم | ❌ ممنوع |
|
|
98
|
+
| كتابة كود | ❌ ممنوع |
|
|
99
|
+
| تشغيل اختبارات | ❌ ممنوع |
|
|
100
|
+
| إصدار تقارير | ✅ تقارير تحليلية |
|
|
101
|
+
|
|
102
|
+
**متى يستخدم:** للعملاء الذين ينتجون تحليلات وخططًا لكن لا ينفذون ولا يتحكمون.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
### 2.3 WRITE_DOCS
|
|
107
|
+
|
|
108
|
+
| البند | القيمة |
|
|
109
|
+
|---|---|
|
|
110
|
+
| قراءة | ✅ كل ما يلزم للمهمة |
|
|
111
|
+
| كتابة ملفات تحضير | ✅ نطاقه المحدد فقط |
|
|
112
|
+
| كتابة ملفات تصميم | ✅ حسب المهمة |
|
|
113
|
+
| كتابة ملفات تحكم | ❌ ممنوع إلا بتفويض |
|
|
114
|
+
| كتابة كود | ❌ ممنوع |
|
|
115
|
+
| تشغيل اختبارات | ❌ ممنوع |
|
|
116
|
+
| إنشاء ملفات جديدة | ✅ ضمن `Allowed Write Targets` فقط |
|
|
117
|
+
|
|
118
|
+
**متى يستخدم:** للعملاء الذين ينتجون توثيقًا أو تصميمًا أو تحضيرًا، مثل UIVisualDesignerAgent, DocumentationHandoverAgent.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
### 2.4 WRITE_KNOWLEDGE
|
|
123
|
+
|
|
124
|
+
| البند | القيمة |
|
|
125
|
+
|---|---|
|
|
126
|
+
| قراءة | ✅ Primary Files (إلزامي) + Referenced Files (إن وُجدت) — كما يحددها TeraAgent |
|
|
127
|
+
| كتابة project-knowledge | ✅ مسموح — فقط داخل `project-knowledge/` |
|
|
128
|
+
| كتابة ملفات تحضير/تصميم | ❌ ممنوع |
|
|
129
|
+
| كتابة سجلات تحكم | ❌ ممنوع |
|
|
130
|
+
| كتابة كود | ❌ ممنوع |
|
|
131
|
+
| تشغيل أدوات | ❌ ممنوع |
|
|
132
|
+
| إنشاء ملفات جديدة | ✅ فقط داخل `project-knowledge/` |
|
|
133
|
+
|
|
134
|
+
**متى يستخدم:** حصريًا لـ ProjectKnowledgeAgent لتحديث ذاكرة المشروع التنفيذية بعد قبول المهام المؤثرة.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
### 2.5 WRITE_CONTROL
|
|
139
|
+
|
|
140
|
+
| البند | القيمة |
|
|
141
|
+
|---|---|
|
|
142
|
+
| قراءة | ✅ كل project-control |
|
|
143
|
+
| كتابة سجلات التحكم | ✅ مسموح |
|
|
144
|
+
| كتابة TASK-ID / ISSUE-ID | ✅ إنشاء وتحديث |
|
|
145
|
+
| كتابة نشاط | ✅ تسجيل |
|
|
146
|
+
| كتابة ملفات تحضير | ❌ إلا بتفويض صريح من Tera |
|
|
147
|
+
| كتابة كود | ❌ ممنوع |
|
|
148
|
+
| تشغيل اختبارات | ❌ ممنوع |
|
|
149
|
+
| تغيير حالة مهمة | ❌ إلا بعد موافقة Tera |
|
|
150
|
+
|
|
151
|
+
**متى يستخدم:** حصريًا لـ ProjectControlAgent وبعض المهام الإدارية بتفويض.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 2.6 RUN_TESTS
|
|
156
|
+
|
|
157
|
+
| البند | القيمة |
|
|
158
|
+
|---|---|
|
|
159
|
+
| قراءة | ✅ كل الملفات اللازمة للاختبار |
|
|
160
|
+
| كتابة نصوص اختبارية | ✅ مسموح |
|
|
161
|
+
| تشغيل اختبارات | ✅ مسموح |
|
|
162
|
+
| كتابة تقارير اختبار | ✅ مسموح |
|
|
163
|
+
| كتابة كود تطبيق | ❌ ممنوع |
|
|
164
|
+
| كتابة ملفات تحضير | ❌ ممنوع |
|
|
165
|
+
| كتابة ملفات تحكم | ❌ إلا بتفويض |
|
|
166
|
+
| تعديل بيانات دائمة | ❌ ممنوع |
|
|
167
|
+
| حذف بيانات | ❌ ممنوع |
|
|
168
|
+
|
|
169
|
+
**متى يستخدم:** لـ qa-agent وأي عميل يحتاج تشغيل اختبارات.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### 2.7 WRITE_CODE
|
|
174
|
+
|
|
175
|
+
| البند | القيمة |
|
|
176
|
+
|---|---|
|
|
177
|
+
| قراءة | ✅ كل الملفات اللازمة |
|
|
178
|
+
| كتابة كود جديد | ✅ مسموح |
|
|
179
|
+
| تعديل كود موجود | ✅ مسموح |
|
|
180
|
+
| إنشاء ملفات تطبيق | ✅ مسموح ضمن المهمة |
|
|
181
|
+
| تشغيل أوامر build/run | ✅ مسموح |
|
|
182
|
+
| تشغيل اختبارات | ✅ مسموح للتحقق |
|
|
183
|
+
| كتابة ملفات تحضير | ❌ ممنوع |
|
|
184
|
+
| كتابة ملفات تحكم | ❌ ممنوع |
|
|
185
|
+
| تعديل project-control | ❌ ممنوع |
|
|
186
|
+
| DEPLOY | ❌ ممنوع بدون موافقة إضافية |
|
|
187
|
+
|
|
188
|
+
**متى يستخدم:** لـ EngineeringAgent وأي عميل تنفيذي.
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
### 2.8 DEPLOY_WITH_APPROVAL
|
|
193
|
+
|
|
194
|
+
| البند | القيمة |
|
|
195
|
+
|---|---|
|
|
196
|
+
| كل صلاحيات WRITE_CODE | ✅ |
|
|
197
|
+
| نشر على بيئة | ✅ بعد موافقة صريحة |
|
|
198
|
+
| تعديل CI/CD | ✅ بعد موافقة صريحة |
|
|
199
|
+
| تغيير إعدادات بيئة | ✅ بعد موافقة صريحة |
|
|
200
|
+
| الوصول إلى production | ✅ بعد موافقة صريحة لكل مرة |
|
|
201
|
+
| تنفيذ migrations في production | ✅ بعد موافقة صريحة وخطة rollback |
|
|
202
|
+
|
|
203
|
+
**متى يستخدم:** لـ DevOpsDeploymentAgent فقط، وبعد موافقة Tera أو المستخدم لكل عملية نشر على حدة.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## 3. مصفوفة الصلاحية الافتراضية لكل عميل
|
|
208
|
+
|
|
209
|
+
### 3.1 العملاء الأساسيون
|
|
210
|
+
|
|
211
|
+
| العميل | المعرف | الصلاحية الافتراضية | هل يمكن رفعها؟ | ملاحظة |
|
|
212
|
+
|---|---|---|---|---|
|
|
213
|
+
| RequirementsScopeAgent | `REQ_SCOPE_AGENT` | `WRITE_DOCS` | إلى PLAN_ONLY إذا كان التحليل فقط | يكتب ملفات النطاق والمتطلبات فقط |
|
|
214
|
+
| BusinessWorkflowAgent | `BUSINESS_WORKFLOW_AGENT` | `WRITE_DOCS` | — | يكتب ملفات سير العمل فقط |
|
|
215
|
+
| UIUXStructureAgent | `UI_UX_STRUCTURE_AGENT` | `WRITE_DOCS` | — | يكتب هيكل الشاشات فقط |
|
|
216
|
+
| UIVisualDesignerAgent | `UI_VISUAL_DESIGNER_AGENT` | `WRITE_DOCS` | إلى READ_ONLY إذا كان مراجعة فقط | يكتب دليل التصميم والتوكينز فقط |
|
|
217
|
+
| DataDesignAgent | `DATA_DESIGN_AGENT` | `WRITE_DOCS` | — | يكتب نموذج البيانات فقط |
|
|
218
|
+
| SolutionArchitectureAgent | `SOLUTION_ARCH_AGENT` | `WRITE_DOCS` | إلى PLAN_ONLY إذا كان تحليلًا فقط | يكتب المعمارية فقط |
|
|
219
|
+
| EngineeringAgent | `ENGINEERING_AGENT` | `WRITE_CODE` | إلى READ_ONLY إذا كانت مراجعة كود فقط | مستوى عالٍ، يجب مراقبته |
|
|
220
|
+
| qa-agent | `QA_ACCEPTANCE_AGENT` | `RUN_TESTS` | إلى READ_ONLY إذا كان مراجعة فقط | **Planning Mode:** `WRITE_DOCS` — يكتب خطط الاختبار ومعايير القبول. **Execution Mode:** `RUN_TESTS` + bash — يشغّل أوامر CLI (dotnet build/test/run) ويكتب تقارير اختبار رسمية |
|
|
221
|
+
| DocumentationHandoverAgent | `DOC_HANDOVER_AGENT` | `WRITE_DOCS` | — | يكتب وثائق التسليم فقط |
|
|
222
|
+
| ProjectKnowledgeAgent | `PROJECT_KNOWLEDGE_AGENT` | `WRITE_KNOWLEDGE` | — | يكتب معرفة تشغيلية فقط داخل project-knowledge/ |
|
|
223
|
+
|
|
224
|
+
### 3.2 العملاء المشروطون
|
|
225
|
+
|
|
226
|
+
| العميل | المعرف | الصلاحية الافتراضية | هل يمكن رفعها؟ | ملاحظة |
|
|
227
|
+
|---|---|---|---|---|
|
|
228
|
+
| SecurityAgent | `SECURITY_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند توثيق findings | لا يكتب كودًا أبدًا |
|
|
229
|
+
| IntegrationAgent | `INTEGRATION_AGENT` | `WRITE_DOCS` | إلى `WRITE_CODE` لتعديل كود التكامل فقط إذا فوضه Tera صراحة | يوثق التكاملات |
|
|
230
|
+
| DevOpsDeploymentAgent | `DEVOPS_DEPLOYMENT_AGENT` | `WRITE_CODE` | إلى `DEPLOY_WITH_APPROVAL` عند النشر | يتطلب موافقة لكل نشر |
|
|
231
|
+
| PerformanceAgent | `PERFORMANCE_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند توثيق التوصيات | يحلل فقط |
|
|
232
|
+
| ComplianceAgent | `COMPLIANCE_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند توثيق الملاحظات | يحلل فقط |
|
|
233
|
+
| ReportingAnalyticsAgent | `REPORTING_ANALYTICS_AGENT` | `WRITE_DOCS` | — | يوثق متطلبات التقارير |
|
|
234
|
+
| MaintenanceMigrationAgent | `MAINTENANCE_MIGRATION_AGENT` | `WRITE_DOCS` | — | يخطط للترحيل |
|
|
235
|
+
| ProjectControlAgent | `PROJECT_CONTROL_AGENT` | `WRITE_CONTROL` | — | يتحكم في سجلات المشروع فقط |
|
|
236
|
+
| SoftwareDesignerAgent | `SOFTWARE_DESIGNER_AGENT` | `WRITE_DOCS` | إلى `PLAN_ONLY` إذا ما زالت الخطة غير ناضجة | يجهز Technical Specification للمهام فقط |
|
|
237
|
+
| QualityReviewCoordinatorAgent | `QUALITY_REVIEW_COORDINATOR_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تسليم تقرير فقط | ينسق المراجعة فقط |
|
|
238
|
+
| PlanComplianceReviewAgent | `PLAN_COMPLIANCE_REVIEW_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تسليم التقرير فقط | يراجع توافق الخطة فقط |
|
|
239
|
+
| DomainResearchAgent | `DOMAIN_RESEARCH_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تسليم التقرير | يبحث فقط |
|
|
240
|
+
| DomainExpertAgent | `DOMAIN_EXPERT_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تسليم التحليل | يحلل فقط |
|
|
241
|
+
| ProductionERPExpert | `PRODUCTION_ERP_EXPERT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تسليم تحليل أو أسئلة أو مراجعة Blueprint ضمن Allowed Write Targets | مستشار Production ERP؛ لا يكتب كوداً ولا يقرر النطاق أو التكلفة النهائية |
|
|
242
|
+
|
|
243
|
+
### 3.3 عملاء التعامل مع العملاء الخارجيين
|
|
244
|
+
|
|
245
|
+
| العميل | المعرف | الصلاحية الافتراضية | هل يمكن رفعها؟ | ملاحظة |
|
|
246
|
+
|---|---|---|---|---|
|
|
247
|
+
| ClientDiscoveryAgent | `CLIENT_DISCOVERY_AGENT` | `WRITE_DOCS` | — | يكتب في client-inputs فقط |
|
|
248
|
+
| ProposalScopeAgent | `PROPOSAL_SCOPE_AGENT` | `WRITE_DOCS` | — | يكتب proposal و scope فقط |
|
|
249
|
+
| ClientApprovalReviewAgent | `CLIENT_APPROVAL_REVIEW_AGENT` | `READ_ONLY` | إلى `WRITE_DOCS` عند تدوين ملاحظات المراجعة | يراجع فقط |
|
|
250
|
+
| ChangeControlAgent | `CHANGE_CONTROL_AGENT` | `WRITE_DOCS` | — | يوثق طلب التغيير فقط |
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## 4. رفع الصلاحية أو خفضها
|
|
255
|
+
|
|
256
|
+
### 4.1 رفع الصلاحية
|
|
257
|
+
|
|
258
|
+
يتم رفع صلاحية عميل فقط عندما:
|
|
259
|
+
|
|
260
|
+
1. Tera يقرر أن المهمة تتطلب صلاحية أعلى.
|
|
261
|
+
2. يتم توثيق رفع الصلاحية في `TASK-ID` أو `DECISIONS_LOG.md`.
|
|
262
|
+
3. الرفع يكون للمهمة الحالية فقط (لا يصبح دائمًا).
|
|
263
|
+
|
|
264
|
+
مثال:
|
|
265
|
+
```
|
|
266
|
+
EngineeringAgent يبدأ بـ WRITE_CODE
|
|
267
|
+
Tera يحتاجه لنشر fix عاجل → يرفع إلى DEPLOY_WITH_APPROVAL
|
|
268
|
+
بعد النشر → يعود إلى WRITE_CODE
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 4.2 خفض الصلاحية
|
|
272
|
+
|
|
273
|
+
يتم خفض صلاحية عميل عندما:
|
|
274
|
+
|
|
275
|
+
1. المهمة لا تحتاج الصلاحية العالية.
|
|
276
|
+
2. هناك خطر من التعديل غير المصرح به.
|
|
277
|
+
3. العميل يستخدم للمراجعة فقط.
|
|
278
|
+
|
|
279
|
+
مثال:
|
|
280
|
+
```
|
|
281
|
+
EngineeringAgent يُستخدم لمراجعة كود فقط → يخفض إلى READ_ONLY
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
### 4.3 صلاحية افتراضية للأدوات / MCPs
|
|
285
|
+
|
|
286
|
+
> **المرجع الكامل:** `tera-system/TOOLING_AND_MCP_POLICY.md` — يُحدّث قائمة MCPs المفعلة فعلياً وأدوات CLI في البوابات.
|
|
287
|
+
> **الوضع الحالي (2026-07-31):** MCPs المفعلة: Playwright, Semgrep, Structurizr. أدوات CLI في البوابات: Semgrep, Trivy, Gitleaks. مكتبات الجودة: axe-core, Testcontainers, Bruno.
|
|
288
|
+
|
|
289
|
+
| الأداة | الصلاحية الافتراضية | ملاحظة |
|
|
290
|
+
|---|---|---|
|
|
291
|
+
| Playwright / Browser MCP | `RUN_TESTS` | لا يعدل كودًا |
|
|
292
|
+
| Semgrep MCP / CLI | `RUN_TESTS` | فحص ثابت — لا يعدّل |
|
|
293
|
+
| Structurizr MCP | `READ_WRITE` (ملفات `.dsl` فقط) | لا يعدّل كود تطبيق |
|
|
294
|
+
| Trivy / Gitleaks (CLI Gates) | `RUN_TESTS` | فحص أمني — لا يعدّل |
|
|
295
|
+
| API Testing / Git/GitHub / Database MCPs | `READ_ONLY` (مؤجلة — غير مفعلة حالياً) | تُفعَّل عند الحاجة وفق السياسة |
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 5. قواعد الصلاحية الإضافية
|
|
300
|
+
|
|
301
|
+
### 5.1 الصلاحية الأقل هي الأصل
|
|
302
|
+
|
|
303
|
+
```
|
|
304
|
+
عند الشك بين صلاحيتين، اختر الصلاحية الأقل.
|
|
305
|
+
يمكن رفع الصلاحية لاحقًا بقرار من Tera، لكن لا يمكن استرجاع تغيير غير مصرح به.
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
### 5.2 لا صلاحية دائمة لمشاريع متعددة
|
|
309
|
+
|
|
310
|
+
```
|
|
311
|
+
صلاحية العميل تُحدد لكل مشروع على حدة.
|
|
312
|
+
لا تنتقل الصلاحية من مشروع إلى آخر.
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
### 5.3 تسجيل أي تغيير في الصلاحية
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
أي رفع أو خفض للصلاحية يُسجل في `DECISIONS_LOG.md`.
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### 5.4 صلاحية الأدوات
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
أي أداة أو MCP تُستخدم ضمن مهمة عميل تخضع لصلاحية ذلك العميل.
|
|
325
|
+
إذا كانت صلاحية العميل READ_ONLY، فالأداة أيضًا READ_ONLY.
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### 5.5 صلاحية خاصة: `NO_WRITE`
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
للعملاء الذين يحتاجون قراءة فقط ولا يملكون أي صلاحية كتابة.
|
|
332
|
+
مطبق افتراضيًا على DomainResearchAgent و DomainExpertAgent و QualityReviewCoordinatorAgent.
|
|
333
|
+
يمكن رفعه إلى `WRITE_DOCS` فقط لتسليم التقرير.
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 6. الملخص — قاعدة الصلاحية الذهبية
|
|
339
|
+
|
|
340
|
+
> **العميل لا يملك صلاحية أكثر مما يحتاجه لإنجاز مهمته المحددة.**
|
|
341
|
+
>
|
|
342
|
+
> Tera يقرر الصلاحية لكل مهمة، ويسجل أي تغيير.
|
|
343
|
+
> لا توجد صلاحية دائمة أو شاملة لأي عميل.
|