From 46d2ba2cbbc82c8ceda04df739d8c347a6f14d54 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Tue, 28 Apr 2026 01:14:16 +0800 Subject: [PATCH 1/8] docs(compensation): add AQPT quality adjustment clause --- STANDARD_TERMS.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index 3db038b..53e3205 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -136,9 +136,16 @@ Modes. The Company is not in breach of this obligation if a delay is caused by the Contractor's failure to submit a compliant invoice or provide information reasonably required to process payment. -8. **Taxes.** The Contractor handles all their own taxes, withholdings, +8. **Quality Adjustment.** For Retainer engagements, the monthly payout is + multiplied by the Contractor's Absolute Quality Percentile (AQPT) for that + month: `payout = (AQPT / 100) × base_salary`. AQPT reflects work quality — + each bug attributed to the Contractor via the Wizard bug blame command + reduces it. The Contractor may dispute an attribution using the Wizard + dispute command. Both commands are documented at + . +9. **Taxes.** The Contractor handles all their own taxes, withholdings, and benefits. The Company makes no deductions. -9. **Finality of Payment.** Any payment made by the Company for approved hours, +10. **Finality of Payment.** Any payment made by the Company for approved hours, completed projects, or accepted milestones constitutes full and final settlement of all claims relating to the Services covered by that payment. The Contractor waives any right to dispute or make further claims in respect of that payment From 92389f6c6be77666d50675d4b1508b4041df7895 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Tue, 28 Apr 2026 09:12:06 +0800 Subject: [PATCH 2/8] docs(compensation): use hours-based formula and clarify bug timing --- STANDARD_TERMS.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index 53e3205..729d419 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -137,12 +137,13 @@ by the Contractor's failure to submit a compliant invoice or provide information reasonably required to process payment. 8. **Quality Adjustment.** For Retainer engagements, the monthly payout is - multiplied by the Contractor's Absolute Quality Percentile (AQPT) for that - month: `payout = (AQPT / 100) × base_salary`. AQPT reflects work quality — - each bug attributed to the Contractor via the Wizard bug blame command - reduces it. The Contractor may dispute an attribution using the Wizard - dispute command. Both commands are documented at - . + adjusted based on bug hours attributed to the Contractor that month: + `payout = (1 - bugHours / totalHours) × base_salary`. Bug hours are the + total hours logged on PRs blamed to the Contractor during the month, + counted in the month the blame is recorded regardless of when the PR was + merged. Bug attribution is made via the Wizard bug blame command; the + Contractor may dispute an attribution using the Wizard dispute command. + Both commands are documented at . 9. **Taxes.** The Contractor handles all their own taxes, withholdings, and benefits. The Company makes no deductions. 10. **Finality of Payment.** Any payment made by the Company for approved hours, From 8e0918b202de68acf646b562b02516ee657731bc Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Tue, 28 Apr 2026 09:18:55 +0800 Subject: [PATCH 3/8] docs(compensation): remove tool dependency from quality adjustment clause --- STANDARD_TERMS.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index 729d419..57ae05f 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -139,11 +139,11 @@ 8. **Quality Adjustment.** For Retainer engagements, the monthly payout is adjusted based on bug hours attributed to the Contractor that month: `payout = (1 - bugHours / totalHours) × base_salary`. Bug hours are the - total hours logged on PRs blamed to the Contractor during the month, - counted in the month the blame is recorded regardless of when the PR was - merged. Bug attribution is made via the Wizard bug blame command; the - Contractor may dispute an attribution using the Wizard dispute command. - Both commands are documented at . + total hours logged on PRs attributed to the Contractor as bugs during the + month, counted when the attribution is recorded regardless of when the + original PR was merged. Attributions are recorded in writing in the Holdex + GitHub organisation. The Contractor may dispute any attribution in writing + within 14 days of notification. 9. **Taxes.** The Contractor handles all their own taxes, withholdings, and benefits. The Company makes no deductions. 10. **Finality of Payment.** Any payment made by the Company for approved hours, From d6dc3ff39361d603a5e2123bcc73e5f9f3d55127 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Tue, 28 Apr 2026 09:48:32 +0800 Subject: [PATCH 4/8] docs(compensation): clarify bug hours definition and timing rule --- STANDARD_TERMS.md | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index 57ae05f..cda49f4 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -137,13 +137,23 @@ by the Contractor's failure to submit a compliant invoice or provide information reasonably required to process payment. 8. **Quality Adjustment.** For Retainer engagements, the monthly payout is - adjusted based on bug hours attributed to the Contractor that month: - `payout = (1 - bugHours / totalHours) × base_salary`. Bug hours are the - total hours logged on PRs attributed to the Contractor as bugs during the - month, counted when the attribution is recorded regardless of when the - original PR was merged. Attributions are recorded in writing in the Holdex - GitHub organisation. The Contractor may dispute any attribution in writing - within 14 days of notification. + reduced by any hours attributed to the Contractor as bugs that month: + + `payout = (1 - bugHours / totalHours) × base_salary` + + - `totalHours` — total approved hours logged by the Contractor in the month. + - `bugHours` — hours the Contractor logged on the PR that caused the bug, + counted in the month the attribution is recorded, not the month the PR was + originally merged. + + Example: the Contractor logged 4 h on PR A in January. PR A is attributed as + a bug in March. Those 4 h count as bug hours in March, reducing the March + payout. + + Attributions are recorded in writing in the Holdex GitHub organisation. The + Contractor may dispute any attribution in writing within 14 days of receiving + notification of that attribution. A successfully disputed attribution is + excluded from the bug hours calculation. 9. **Taxes.** The Contractor handles all their own taxes, withholdings, and benefits. The Company makes no deductions. 10. **Finality of Payment.** Any payment made by the Company for approved hours, From 6e4dcfbae3032b67d8a1f00594b1ce9d922e199c Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 29 Apr 2026 00:33:31 +0800 Subject: [PATCH 5/8] docs(compensation): replace base_salary with explicit hourlyRate formula --- STANDARD_TERMS.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index cda49f4..d70d1cb 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -139,9 +139,10 @@ 8. **Quality Adjustment.** For Retainer engagements, the monthly payout is reduced by any hours attributed to the Contractor as bugs that month: - `payout = (1 - bugHours / totalHours) × base_salary` + `payout = (totalHours - bugHours) × hourlyRate` - `totalHours` — total approved hours logged by the Contractor in the month. + - `hourlyRate` — the hourly rate in the Special Terms. - `bugHours` — hours the Contractor logged on the PR that caused the bug, counted in the month the attribution is recorded, not the month the PR was originally merged. From 39120f7bcee0207fad10668561e7e7028cb098f5 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 29 Apr 2026 00:45:07 +0800 Subject: [PATCH 6/8] docs(warranty): add 90-day post-acceptance warranty for project and milestone engagements --- STANDARD_TERMS.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index d70d1cb..e451a90 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -101,6 +101,14 @@ 10 business days of submission or resubmission. Payment obligations under the Compensation section are triggered only upon written acceptance or deemed acceptance under the Rejection and Cure clause above. +8. **Post-Acceptance Warranty.** For Project and Milestone engagements, the + Contractor warrants that each accepted deliverable will be free from material + defects for 90 days following written acceptance (the "Warranty Period"). If + the Company notifies the Contractor in writing of a defect during the Warranty + Period, the Contractor must remedy the defect at no additional charge within a + reasonable time. This warranty does not apply to defects caused by: + (i) modifications to the deliverable made by the Company or a third party after + acceptance; or (ii) requirements not specified in the relevant Work Order. --- From 49b9e1aeac20ad8dcf04621d8cbb108cd7f2ca01 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 29 Apr 2026 00:57:57 +0800 Subject: [PATCH 7/8] docs(compensation): add non-negative floor and clarify excess bugHours do not carry forward --- STANDARD_TERMS.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index e451a90..513aa8d 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -147,13 +147,14 @@ 8. **Quality Adjustment.** For Retainer engagements, the monthly payout is reduced by any hours attributed to the Contractor as bugs that month: - `payout = (totalHours - bugHours) × hourlyRate` + `payout = max(0, (totalHours - bugHours) × hourlyRate)` - `totalHours` — total approved hours logged by the Contractor in the month. - `hourlyRate` — the hourly rate in the Special Terms. - `bugHours` — hours the Contractor logged on the PR that caused the bug, counted in the month the attribution is recorded, not the month the PR was - originally merged. + originally merged. Payout cannot be negative; any excess bugHours beyond + totalHours do not carry forward to subsequent months. Example: the Contractor logged 4 h on PR A in January. PR A is attributed as a bug in March. Those 4 h count as bug hours in March, reducing the March From 317a63eabfd7ea2124887c6316515f49d95c6861 Mon Sep 17 00:00:00 2001 From: Vadim Zolotokrylin Date: Wed, 29 Apr 2026 00:58:55 +0800 Subject: [PATCH 8/8] docs(compensation): carry excess bugHours forward to following month --- STANDARD_TERMS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/STANDARD_TERMS.md b/STANDARD_TERMS.md index 513aa8d..d5fab4e 100644 --- a/STANDARD_TERMS.md +++ b/STANDARD_TERMS.md @@ -154,7 +154,7 @@ - `bugHours` — hours the Contractor logged on the PR that caused the bug, counted in the month the attribution is recorded, not the month the PR was originally merged. Payout cannot be negative; any excess bugHours beyond - totalHours do not carry forward to subsequent months. + totalHours carry forward to the following month. Example: the Contractor logged 4 h on PR A in January. PR A is attributed as a bug in March. Those 4 h count as bug hours in March, reducing the March