You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
REQUIRED: Contributors must meet these thresholds before claiming.
10
14
value: |
11
-
---
12
-
## **Thanks for contributing!** 🚀
13
-
14
-
We truly appreciate your interest in tackling an **Advanced issue**.
15
-
16
-
This template is designed for work that requires **deep familiarity with the Hiero Python SDK**
17
-
and confidence making changes that may span multiple modules or affect core behavior.
15
+
> [!CAUTION]
16
+
> **Advanced issues are the highest-risk work in this project. We will reject PRs that do not meet these standards.**
18
17
19
-
The goal is to create issues for contributors who:
20
-
- have strong familiarity with the Hiero Python SDK internals
21
-
- are comfortable reasoning about trade-offs and design decisions
22
-
- can work independently with minimal guidance
23
-
---
18
+
### 🏁 Concrete Prerequisites
19
+
- **Proven History:** Successfully completed **≥ 10 non-trivial intermediate issues** in this repo.
20
+
- **Consistency:** **≥ 3–4 months** of active, human-led contributions to this SDK.
21
+
- **Expertise:** Deep architectural understanding of `_Executable`, `Transaction`, and `Query` base classes.
22
+
- **Advanced Python:** Demonstrated proficiency with complex patterns (e.g., async concurrency, decorators, or state management) used in the core SDK.
24
23
25
-
- type: textarea
26
-
id: intro
27
-
attributes:
28
-
label: 🧠 Advanced Contributors
29
-
description: Who is this issue intended for?
30
-
value: |
31
-
This issue is intended for contributors who are already very familiar with the
32
-
[Hiero Python SDK](https://hiero.org) codebase and its architectural patterns.
24
+
> [!NOTE]
25
+
> **Workflow Exception:** For issues focused on **GitHub Actions / Workflows**, the Python-specific thresholds above may be waived if the contributor demonstrates expert-level proficiency in CI/CD security and automation.
33
26
34
-
You should feel comfortable:
35
-
- navigating multiple modules across `src/`
36
-
- understanding and modifying core SDK abstractions
37
-
- reasoning about API design and backwards compatibility
38
-
- updating or extending tests, examples, and documentation as needed
39
-
- making changes that may affect public-facing behavior
27
+
### ⚠️ AI Usage Policy
28
+
Using AI to generate code for Advanced issues is **strictly forbidden**. AI may be used only to help explain file relationships. Submitting AI-mined code or unvalidated generated output is grounds for **immediate rejection**.
40
29
41
-
New developers should start with
42
-
**Good First Issues** or **Intermediate Issues** first.
30
+
### ⏱️ Timeline & Workflow
31
+
- **Typical time:** ~1 month / ~50 hours.
32
+
- 🔴 Completing an advanced issue in 1–3 days is a **red flag** and will likely be rejected.
33
+
- **Mandatory:** Post your proposed architectural approach as a comment and wait for explicit maintainer approval **before writing any code.**
43
34
validations:
44
35
required: false
45
36
46
-
- type: markdown
47
-
attributes:
48
-
value: |
49
-
> [!WARNING]
50
-
> ### 🧭 What we consider an *Advanced Issue*
51
-
>
52
-
> This issue typically:
53
-
>
54
-
> - Requires **deep understanding of existing SDK design and behavior**
55
-
> - May touch **core abstractions**, shared utilities, or cross-cutting concerns
56
-
> - May involve **non-trivial refactors**, design changes, or behavior extensions
57
-
> - Has **medium to high risk** if implemented incorrectly
58
-
> - Requires careful consideration of **backwards compatibility**
59
-
> - May require updating **tests, examples, and documentation together**
60
-
>
61
-
> **What this issue is NOT:**
62
-
> - A simple bug fix
63
-
> - A narrowly scoped refactor
64
-
> - A task solvable by following existing patterns alone
_Replace this with specific implementation notes._
172
58
validations:
173
59
required: false
174
60
175
-
- type: markdown
61
+
- type: textarea
62
+
id: quality_standards
176
63
attributes:
64
+
label: 🛡️ Quality & Review Standards
177
65
value: |
178
-
<!-- Example for Implementation Notes (hidden in submission) -->
179
-
## 🧠 Implementation Notes – Example
180
-
181
-
Suggested approach:
66
+
The bar for advanced PRs is **"safe, maintainable, architecturally sound, and production-ready."**
182
67
183
-
- Introduce a new `ExecutionPipeline` abstraction under
184
-
`src/hiero_sdk_python/execution/`
185
-
- Refactor existing transaction execution logic to delegate
186
-
to this pipeline
187
-
- Ensure existing public APIs remain unchanged
188
-
- Add focused unit tests for each pipeline stage
189
-
- Update at least one example to demonstrate extensibility
190
-
191
-
Care should be taken to avoid breaking timeout semantics
192
-
relied upon by existing users.
68
+
### 🚀 Defining "Production Ready"
69
+
1. **Architectural Fit:** The solution must fit naturally into the existing SDK abstractions. Avoid "hacks" or isolated logic that bypasses the core execution model.
70
+
2. **Security & Correctness:** Evaluate all logic for injection risks, state corruption, or thread-safety issues. Every line of code must be manually verified.
71
+
3. **Maintainability:** Code must be clear enough for any other maintainer to debug without your assistance. Prefer standard patterns over "clever" one-liners.
72
+
4. **Backward Compatibility:** Public API signatures must be preserved. If a breaking change is required, it must be explicitly managed through a deprecation cycle.
73
+
validations:
74
+
required: false
193
75
194
76
- type: textarea
195
-
id: acceptance-criteria
77
+
id: acceptance
196
78
attributes:
197
-
label: ✅ Acceptance Criteria
198
-
description: Define what "done" means for this issue
79
+
label: ✅ PR Quality Checklist
80
+
description: |
81
+
PRE-FILLED. These are the standards the contributor must meet before opening a PR.
199
82
value: |
200
-
To merge this issue, the pull request must:
201
-
202
-
- [ ] Fully address the problem and design goals described above
0 commit comments