@kitkat-vn/kitcode 0.2.0-staging.13 → 0.2.0-staging.14
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/README.md +11 -11
- package/package.json +2 -2
- package/src/integration-spec.mjs +11 -4
- package/src/reward.mjs +2 -2
package/README.md
CHANGED
|
@@ -189,22 +189,22 @@ The time targets are fixed, each milestone's own (below): no flag or variable ch
|
|
|
189
189
|
Each milestone needs both enough active time and enough counted `=`, each counted from the moment the milestone before it
|
|
190
190
|
was reached: `30%` from install, `50%` from the moment `30%` was reached, `100%` from the moment `50%` was. Nothing earned
|
|
191
191
|
before that moment counts toward it, neither time earned while waiting for `=` nor `=` while waiting for time, so `100%`
|
|
192
|
-
takes
|
|
192
|
+
takes 108 minutes and 36 `=` in all in a tester build. What was reached stays reached.
|
|
193
193
|
|
|
194
194
|
### Milestones
|
|
195
195
|
|
|
196
196
|
| Milestone | Active time, from the milestone before | Counted `=`, from the milestone before |
|
|
197
197
|
| ---: | ---: | ---: |
|
|
198
|
-
| `30%` |
|
|
199
|
-
| `50%` |
|
|
200
|
-
| `100%` |
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
counts by, and `kitcode summary` names what the next
|
|
205
|
-
|
|
206
|
-
2026-10-
|
|
207
|
-
|
|
198
|
+
| `30%` | 18 minutes (1080 s), from install | 9, from install |
|
|
199
|
+
| `50%` | 30 minutes (1800 s) | 12 |
|
|
200
|
+
| `100%` | 60 minutes (3600 s) | 15 |
|
|
201
|
+
|
|
202
|
+
This is the tester table, which every tester build counts by. A production release counts by the production table: 3 hours
|
|
203
|
+
(10800 s) and 300 `=`, 5 hours (18000 s) and 500, 8 hours (28800 s) and 1,000, so 16 hours and 1,800 `=` to `100%`.
|
|
204
|
+
`MILESTONE_TABLE` in `src/integration-spec.mjs` says which this package counts by, and `kitcode summary` names what the next
|
|
205
|
+
milestone still needs.
|
|
206
|
+
Until 2026-10-08 there were 10% and 20% milestones too, and until 2026-10-20 every milestone counted from install. From
|
|
207
|
+
2026-10-21 to 2026-10-22 the tester table held the production table's numbers; since 2026-10-22 it is the short one again.
|
|
208
208
|
|
|
209
209
|
Once a milestone is reached, the dashboard shows its message: the campaign's own words, which the campaign's server gives each milestone. The prompt hook and the desktop notification say only that a milestone was reached. `summary` and `awards` show which are ready.
|
|
210
210
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kitkat-vn/kitcode",
|
|
3
|
-
"version": "0.2.0-staging.
|
|
3
|
+
"version": "0.2.0-staging.14",
|
|
4
4
|
"description": "Local aggregate activity server for KitCode.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"optionalDependencies": {
|
|
38
38
|
"electron": "^43.0.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "9bb9ffad62d8fc739287dbf8b76e0505f412b7c2"
|
|
41
41
|
}
|
package/src/integration-spec.mjs
CHANGED
|
@@ -48,11 +48,17 @@ export const RUNNER_DISPLAY_PATH = `~/${RUNNER_PATH_PARTS.join('/')}`;
|
|
|
48
48
|
// decision 4 for the tester table; the production table's numbers are no longer drafts, and its 100 % is 8 h where the
|
|
49
49
|
// draft said 10. The two tables stay two, equal, so that production's can differ again by one table's edit (a ruling,
|
|
50
50
|
// docs/reward-rules.md §2). Until then the tester table was 1080 s and 9 =, 1800 s and 12 =, 3600 s and 15 =.
|
|
51
|
+
//
|
|
52
|
+
// Since 2026-10-22 the tester table is that short one again (the operator: "scale down the focus time and = requirements as
|
|
53
|
+
// the previous time for staging for testing easier, keep the same for production"): 18 minutes and 9 =, 30 and 12, 60 and
|
|
54
|
+
// 15, so 108 minutes and 36 = in all to reach 100 %, each still counted fresh. The production table keeps the operator's
|
|
55
|
+
// numbers of 2026-10-21, and the two differ again. The claim backend holds a claim to its own MILESTONE_* settings, which
|
|
56
|
+
// staging's server sets to the tester table by hand (docs/deployment-target.md).
|
|
51
57
|
export const MILESTONE_TABLES = Object.freeze({
|
|
52
58
|
tester: Object.freeze([
|
|
53
|
-
Object.freeze({percent: 30, requiredSeconds:
|
|
54
|
-
Object.freeze({percent: 50, requiredSeconds:
|
|
55
|
-
Object.freeze({percent: 100, requiredSeconds:
|
|
59
|
+
Object.freeze({percent: 30, requiredSeconds: 1080, requiredEquals: 9}),
|
|
60
|
+
Object.freeze({percent: 50, requiredSeconds: 1800, requiredEquals: 12}),
|
|
61
|
+
Object.freeze({percent: 100, requiredSeconds: 3600, requiredEquals: 15}),
|
|
56
62
|
]),
|
|
57
63
|
production: Object.freeze([
|
|
58
64
|
Object.freeze({percent: 30, requiredSeconds: 10800, requiredEquals: 300}),
|
|
@@ -269,7 +275,8 @@ function targetTime(seconds) {
|
|
|
269
275
|
|
|
270
276
|
// Since 2026-10-20 each line says where its milestone counts from: install for the first, and for each other the moment the
|
|
271
277
|
// one before it was reached (docs/reward-rules.md §2). Since 2026-10-21 each names its time, "3h of tracked time", where it
|
|
272
|
-
// said "enough tracked time": with the operator's targets of that day a milestone's time is 3 to 8 hours.
|
|
278
|
+
// said "enough tracked time": with the operator's targets of that day a milestone's time is 3 to 8 hours. Since 2026-10-22
|
|
279
|
+
// the tester table's times read "18m", "30m" and "1h", the production table's still "3h", "5h" and "8h".
|
|
273
280
|
function milestoneLines() {
|
|
274
281
|
const milestones = [...KITCODE_REWARD_TIERS, ...KITCODE_DISPLAY_MILESTONES];
|
|
275
282
|
|
package/src/reward.mjs
CHANGED
|
@@ -17,8 +17,8 @@ export const MILESTONE_PERCENTS = REWARD_MILESTONES.map((milestone) => milestone
|
|
|
17
17
|
// §3). Until then it was a setting, down to 1 s: --reward-seconds, KITCODE_REWARD_SECONDS, and
|
|
18
18
|
// rewardSettings.requiredSeconds in state.json. A requiredSeconds an older KitCode stored stays in the
|
|
19
19
|
// file, unread, as the removed requiredEquals does. Since 2026-10-20 each milestone names its own time in the table
|
|
20
|
-
// (integration-spec.mjs), where it was this × its percent: the same numbers in the tester table
|
|
21
|
-
//
|
|
20
|
+
// (integration-spec.mjs), where it was this × its percent: the same numbers in the tester table, which held the operator's
|
|
21
|
+
// from 2026-10-21 to 2026-10-22, 100 %'s 8 h, and since then its own again, 100 %'s 3600 s.
|
|
22
22
|
const LAST_MILESTONE = REWARD_MILESTONES[REWARD_MILESTONES.length - 1];
|
|
23
23
|
export const REWARD_SECONDS = LAST_MILESTONE.requiredSeconds;
|
|
24
24
|
// The = the last milestone needs. The = targets are the table's; no setting changes them (the
|