@1aboveio/skills 1.0.6 → 1.0.8

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 (78) hide show
  1. package/package.json +2 -2
  2. package/skills/app-dev/airflow/SKILL.md +1 -1
  3. package/skills/app-dev/android-foundation/SKILL.md +92 -34
  4. package/skills/app-dev/android-foundation/assets/android-ci-job.yml +13 -7
  5. package/skills/app-dev/android-foundation/references/ci.md +23 -13
  6. package/skills/app-dev/android-foundation/references/delivery-focus.md +29 -0
  7. package/skills/app-dev/android-foundation/references/diagnosis.md +136 -0
  8. package/skills/app-dev/android-foundation/references/gotchas.md +20 -11
  9. package/skills/app-dev/android-foundation/references/setup.md +15 -6
  10. package/skills/app-dev/android-foundation/scripts/device-run.sh +148 -42
  11. package/skills/app-dev/android-foundation/scripts/device-run.test.mjs +322 -58
  12. package/skills/app-dev/app-debug/SKILL.md +1 -1
  13. package/skills/app-dev/better-auth/SKILL.md +1 -1
  14. package/skills/app-dev/data-catalog/SKILL.md +1 -1
  15. package/skills/app-dev/data-quality/SKILL.md +1 -1
  16. package/skills/app-dev/ios-foundation/SKILL.md +1 -1
  17. package/skills/app-dev/monorepo/SKILL.md +1 -1
  18. package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
  19. package/skills/app-dev/prisma-setup/SKILL.md +1 -1
  20. package/skills/app-dev/pyspark/SKILL.md +1 -1
  21. package/skills/app-dev/python-backend/SKILL.md +1 -1
  22. package/skills/app-dev/shadcn/SKILL.md +1 -1
  23. package/skills/app-dev/zod-v4/SKILL.md +1 -1
  24. package/skills/cicd/cloud-build/SKILL.md +1 -1
  25. package/skills/cicd/cloud-debug/SKILL.md +1 -1
  26. package/skills/cicd/cloud-deploy/SKILL.md +1 -1
  27. package/skills/cicd/docker/SKILL.md +1 -1
  28. package/skills/cicd/github-actions/SKILL.md +1 -1
  29. package/skills/cicd/github-flow/SKILL.md +1 -1
  30. package/skills/cicd/google-cloud/SKILL.md +1 -1
  31. package/skills/cicd/mergify/SKILL.md +1 -1
  32. package/skills/cicd/podman/SKILL.md +1 -1
  33. package/skills/content/article-review/SKILL.md +1 -1
  34. package/skills/content/article-to-image/SKILL.md +1 -1
  35. package/skills/content/flowchart-svg/SKILL.md +1 -1
  36. package/skills/content/image-gen/SKILL.md +1 -1
  37. package/skills/content/mermaid/SKILL.md +1 -1
  38. package/skills/content/wechat-article-writer/SKILL.md +1 -1
  39. package/skills/content/wechat-publisher/SKILL.md +1 -1
  40. package/skills/content/wechat-search/SKILL.md +1 -1
  41. package/skills/content/xai-search/SKILL.md +1 -1
  42. package/skills/core/distill-writing/SKILL.md +22 -4
  43. package/skills/core/distill-writing/references/extraction.md +19 -3
  44. package/skills/core/doc-to-md/SKILL.md +1 -1
  45. package/skills/core/editorial-review/SKILL.md +1 -1
  46. package/skills/core/house-style/SKILL.md +2 -1
  47. package/skills/core/house-style/references/persistence.md +93 -0
  48. package/skills/core/house-style/references/rules.md +15 -6
  49. package/skills/core/plain-language/SKILL.md +40 -4
  50. package/skills/core/polish-cn/SKILL.md +1 -1
  51. package/skills/core/reg-parser/SKILL.md +1 -1
  52. package/skills/core/terminology/SKILL.md +1 -1
  53. package/skills/core/write-doc/SKILL.md +14 -6
  54. package/skills/engineering/better-review/SKILL.md +1 -1
  55. package/skills/engineering/contributing/SKILL.md +1 -1
  56. package/skills/engineering/e2e-test/SKILL.md +1 -1
  57. package/skills/engineering/engineering-runtime/SKILL.md +1 -1
  58. package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
  59. package/skills/engineering/ensure-coverage/SKILL.md +1 -1
  60. package/skills/engineering/golden-path/SKILL.md +1 -1
  61. package/skills/engineering/harness-runtime/SKILL.md +1 -1
  62. package/skills/engineering/resolve-issues/SKILL.md +11 -20
  63. package/skills/engineering/resolve-issues/references/delivery-progress.md +63 -0
  64. package/skills/engineering/resolve-issues/references/expire.md +24 -11
  65. package/skills/engineering/resolve-issues/references/implementation.md +9 -1
  66. package/skills/engineering/resolve-issues/references/task-plan.md +7 -4
  67. package/skills/engineering/resolve-release/SKILL.md +1 -1
  68. package/skills/engineering/rush-issues/SKILL.md +5 -2
  69. package/skills/engineering/rush-release/SKILL.md +1 -1
  70. package/skills/engineering/test-quality/SKILL.md +1 -1
  71. package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
  72. package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
  73. package/skills/risk-compliance/contract-review/SKILL.md +1 -1
  74. package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
  75. package/skills/risk-compliance/fraud-analysis/SKILL.md +1 -1
  76. package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
  77. package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
  78. package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
@@ -369,7 +369,7 @@
369
369
  "repository": "1aboveio/ai",
370
370
  "revision": "main"
371
371
  },
372
- "contentDigest": "d65c7b826e914a41cad50c3a6cc5e9d4cefc866d0bdcce59c1f9b1bb4aebb0e1",
372
+ "contentDigest": "a37292865bf496db5c900602b3a2fefb87b5ebc9e6e7a185e2c8471d498c9a38",
373
373
  "digestExcludes": []
374
374
  },
375
375
  {
@@ -382,7 +382,7 @@
382
382
  "repository": "1aboveio/ai",
383
383
  "revision": "main"
384
384
  },
385
- "contentDigest": "b9d18cd12a60d8ff020b044f531f5639f9b6879f1b3e0a76103b7b8a0c693a57",
385
+ "contentDigest": "76e79c091a20274fc7a11296e5dbb2bb128525499596129baae4a11179ef7f71",
386
386
  "digestExcludes": []
387
387
  },
388
388
  {
@@ -395,7 +395,7 @@
395
395
  "repository": "1aboveio/ai",
396
396
  "revision": "main"
397
397
  },
398
- "contentDigest": "d7d4e683cf21c1e3621b556119b9e672b196ff7989e88595c96c5a78cb57109e",
398
+ "contentDigest": "e4c79b9b236babd8413778b57b67e157edc81b7870302ac38153ebd15eca6b66",
399
399
  "digestExcludes": []
400
400
  },
401
401
  {
@@ -408,7 +408,7 @@
408
408
  "repository": "1aboveio/ai",
409
409
  "revision": "main"
410
410
  },
411
- "contentDigest": "4b9b0dca2444536ea9d8c7d2ee6e6db348fe147c6aae0c6fc933637337f2a968",
411
+ "contentDigest": "c91d1d12fb3110f42779c00aa7666a7f9401bae04e63c681034c84276adab222",
412
412
  "digestExcludes": []
413
413
  },
414
414
  {
@@ -421,7 +421,7 @@
421
421
  "repository": "1aboveio/ai",
422
422
  "revision": "main"
423
423
  },
424
- "contentDigest": "9bc115fa42ebaf5b49af5a584c95f96f462fe08e2424caecb47e62c447133da4",
424
+ "contentDigest": "800748e040c2c47a78b65713fd88d1586206feb7f5a5ce052da051a72cc82743",
425
425
  "digestExcludes": []
426
426
  },
427
427
  {
@@ -434,7 +434,7 @@
434
434
  "repository": "1aboveio/ai",
435
435
  "revision": "main"
436
436
  },
437
- "contentDigest": "3daebcc2774b2966056f2bc195500238fdba0f50e21b0c1f601ab132241c2ee8",
437
+ "contentDigest": "5441c5a8c40c27c1455001ee65b5cf055d25932963410b852d6fd7753e03c7e0",
438
438
  "digestExcludes": []
439
439
  },
440
440
  {
@@ -447,7 +447,7 @@
447
447
  "repository": "1aboveio/ai",
448
448
  "revision": "main"
449
449
  },
450
- "contentDigest": "0828c5155448dd305514ae03d729fe8b577534445942c987e4167a15761fb1ce",
450
+ "contentDigest": "22b2d51f863c5e215dda1036ada423d65873652d05aee4efa83ff4e4995dfc2d",
451
451
  "digestExcludes": []
452
452
  },
453
453
  {
@@ -460,7 +460,7 @@
460
460
  "repository": "1aboveio/ai",
461
461
  "revision": "main"
462
462
  },
463
- "contentDigest": "385de0e4939da08010dbbee47885ef879fcee0cb4250aaf1a2ab54a07eb946a1",
463
+ "contentDigest": "f293e919a756e073894e959f25d874d69ef94839ccd98a92aa5073308f18f643",
464
464
  "digestExcludes": []
465
465
  },
466
466
  {
@@ -473,7 +473,7 @@
473
473
  "repository": "1aboveio/ai",
474
474
  "revision": "main"
475
475
  },
476
- "contentDigest": "c00da90463937b7f55441099249a710595ae75442b35ae9b5d2fcb7138aaae39",
476
+ "contentDigest": "3d9dd1501f80995d27026e1b7ba9751e2e10f4db7f1a427c36bd1f9eec24fcdf",
477
477
  "digestExcludes": []
478
478
  },
479
479
  {
@@ -486,7 +486,7 @@
486
486
  "repository": "1aboveio/ai",
487
487
  "revision": "main"
488
488
  },
489
- "contentDigest": "37329daa68b188d22f6b852a15b7eaeba5a5d55d5507be71f42ee3ff27b9cbd7",
489
+ "contentDigest": "4d5e6c1570bb2395813382991aa04437b60b7f20fd54234d07a7af5dbd2b31e3",
490
490
  "digestExcludes": []
491
491
  },
492
492
  {
@@ -499,7 +499,7 @@
499
499
  "repository": "1aboveio/ai",
500
500
  "revision": "main"
501
501
  },
502
- "contentDigest": "a8289f4124a0ca1aadabb9c32d800fca229f5741d96612f3d6aae2fba2dea128",
502
+ "contentDigest": "8d32ffe5807e680193e4ee05d51a7c6691e25ffea54bd657405e1025e318cf09",
503
503
  "digestExcludes": []
504
504
  },
505
505
  {
@@ -512,13 +512,13 @@
512
512
  "repository": "1aboveio/ai",
513
513
  "revision": "main"
514
514
  },
515
- "contentDigest": "c2bbe29c38e21c1944dee77032a26823b2d3deb935b64024eb5179611e6eb121",
515
+ "contentDigest": "6fcf7271652b12f8a64e03cdce85fdeee10cc8456f89ac1b39631281e2e52615",
516
516
  "digestExcludes": [
517
517
  "coherence/workflow.json"
518
518
  ]
519
519
  }
520
520
  ],
521
- "releaseIdentity": "321b0da7bd6d9c65417863048fdef2183a0aa2b87a569c12ceaab0b09fcac600",
521
+ "releaseIdentity": "0e956b77698da11b37a94d960a5f7a7102af5b761b788f1fe52a6c9716cf132d",
522
522
  "lifecycleAuthority": "native-skills-cli",
523
523
  "repairRecipe": {
524
524
  "id": "engineering-workflow-dependency-first",
@@ -2,7 +2,7 @@
2
2
  name: ensure-coverage
3
3
  description: "Define or audit behavior-first test criteria — ACs, required test levels, mock/integration/E2E policy — across three axes: breadth (Coverage Ledger), depth (over-mocking), presentation (perceivability of browser surfaces). NOT judging whether a single test is any good (test-quality), authoring browser tests (e2e-test), reviewing a PR (better-review), or delivering issues (resolve-issues)."
4
4
  disable-model-invocation: true
5
- release-version: 0.42.1
5
+ release-version: 0.43.1
6
6
  ---
7
7
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
8
8
  # Ensure Coverage
@@ -3,7 +3,7 @@ name: golden-path
3
3
  description: "Golden-path E2E: the short list of user journeys whose failure blocks a release, kept in a repo as one contract (golden-paths.json) with a generated GOLDEN_PATHS.md and a generated GitHub Actions workflow, and run against a local build or a deployed URL for an ALIVE/DEAD verdict. Use to set golden paths up in a repo ('init golden paths', 'add golden-path CI'), to migrate an older smoke.manifest.json or a hand-built smoke setup ('audit', 'migrate smoke'), to add, change, or remove a golden path, to ask 'is the build alive?' or run them before a PR or release, or when a change touches a flow listed in GOLDEN_PATHS.md. NOT for writing the Playwright specs themselves (e2e-test), deciding what a change must prove (ensure-coverage), or general workflow YAML (github-actions)."
4
4
  dependencies:
5
5
  - e2e-test
6
- release-version: 0.42.1
6
+ release-version: 0.43.1
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Golden path
@@ -3,7 +3,7 @@ name: harness-runtime
3
3
  description: Internal import-only library shared by first-party engineering packages. Not a workflow skill; never select or invoke it as a user capability.
4
4
  disable-model-invocation: true
5
5
  user-invocable: false
6
- release-version: 0.42.1
6
+ release-version: 0.43.1
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Harness Runtime
@@ -8,7 +8,7 @@ dependencies:
8
8
  - better-review
9
9
  - golden-path
10
10
  - harness-runtime
11
- release-version: 0.42.1
11
+ release-version: 0.43.1
12
12
  ---
13
13
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
14
14
  # Resolve issues
@@ -78,7 +78,7 @@ ships sooner at the same bar.
78
78
  `/rush-issues` runs this workflow with every answer defaulted ([shortcut mode](references/preflight.md#shortcut-mode)).
79
79
 
80
80
  **Bounds:** the harness times and stops workers · retry while cycles reach new lows; 2 without one,
81
- then [expire.md](references/expire.md) (a fix cycle progresses only on a new low; a resume, when it adds work the PR needs; diagnostics and records never) · workers within [live host capacity](references/implementation.md#live-capacity), one local emulator, queued for device-only work
81
+ then [expire.md](references/expire.md) (fixes and resumes progress through verified checkpoint advances or fewer established failures; added work, diagnostics and records alone do not reset counts) · workers within [live host capacity](references/implementation.md#live-capacity), one local emulator, queued for device-only work
82
82
  and non-CI emulator proof ([scheduling](references/implementation.md#scheduling); CI confirms, never debugs) · one PR per issue · every runnable unit in one run, in dependency order · blocking review hands back
83
83
  after 2 fix rounds without a new low of open P0/P1 path rows; no fixed round cap.
84
84
 
@@ -150,26 +150,17 @@ Read each procedure right before its stage; never substitute your own.
150
150
  steps are only the read-only warehouse canary (never blocks) and the isolated, run-owned resources
151
151
  [preflight.md](references/preflight.md#never-block-on-the-human) allows.
152
152
 
153
+ ## Delivery progress
154
+
155
+ Before briefing or continuing a unit, read [delivery-progress.md](references/delivery-progress.md).
156
+ Keep one existing acceptance checkpoint per unit, preserve failure history, justify new
157
+ infrastructure, and report verified behavior. Full acceptance and required CI still apply.
158
+
153
159
  ## Every brief contains
154
160
 
155
- - the source and criteria, as a file already in the run directory
156
- - the plan's `standingOrders`, verbatim, and the decisions that answer this unit's questions
157
- - absolute run, workspace, and findings paths; for implementers, the unit's
158
- findings entry and its parents' `contracts`
159
- - model id, effort, and a required read-back
160
- - an absolute skill path when the stage invokes a leaf skill; for validating, the unit's `proof.suite` `skill` (read it first) and `local`, when set
161
- - the outcome and validation, with no prescribed method or evidence format
162
- - the [Goal](#goal) and [Principles](#principles), verbatim (a reviewer gets review.md's two rules instead)
163
- - the result path, `<run>/results/<unit>-<label>.json` (`<label>`: kind and attempt, e.g. `fix-2`), with `unit` and `decisionNeeded` (null or a choice)
164
- - at the deadline: stop starting work, commit, and report
165
- - environment rules: write only inside the workspace (and the findings directory for the explorer),
166
- with tool caches and temp files there (`TMPDIR`, `npm_config_cache`, `UV_CACHE_DIR`); use the machine's
167
- installed JDK, Android SDK, system images, and browsers (`JAVA_HOME`, `ANDROID_HOME`) where they fit,
168
- or the repo's pinned Playwright image where the runner has no browser (`github-actions` runners.md);
169
- edit with the harness's tools, never a shell `apply_patch`
170
-
171
- Treat a missing or unreadable result as an incomplete stage: resume a dead
172
- spawn once in the same workspace, never with a success claim.
161
+ Use the full [brief checklist](references/delivery-progress.md#every-brief-contains),
162
+ including the Goal and Principles verbatim, checkpoint history and result contract.
163
+ Treat a missing or unreadable result as incomplete; resume a dead spawn once in its workspace.
173
164
 
174
165
  ## Workflow
175
166
 
@@ -0,0 +1,63 @@
1
+ # Delivery progress
2
+
3
+ For each active unit, name **one immediate acceptance checkpoint** from its existing
4
+ criteria: the next observable behavior or contract to prove. A narrow checkpoint guides
5
+ the next action; it does not replace the unit's full acceptance or required CI. Independent
6
+ units keep their own checkpoints and continue in parallel within actual resource limits.
7
+
8
+ - **Preserve an existing working baseline.** Keep its source/artifact identity, relevant
9
+ environment and passing result as a comparison. Reuse it while those inputs remain
10
+ valid; do not create a new baseline campaign when none exists or treat an old artifact
11
+ as acceptance of the candidate. Keep only what the repo's ownership/retention rules allow.
12
+ - **Debug the smallest failing behavior first.** Name the failing command and the
13
+ observation that would distinguish the remaining causes. Run the relevant host,
14
+ integration or device check before another broad acceptance cycle. After a correction,
15
+ run affected checks and the required delivery checks, not extra assurance work.
16
+ - **Justify infrastructure before adding it.** State which existing criterion requires
17
+ it, why the current path cannot provide that proof, and the smallest alternative.
18
+ Record the choice in the existing decision/note, within current authorization. Routine
19
+ choices need no new approval; shared-resource changes and changes to the acceptance
20
+ bar retain their existing authorization rules. A failed screen alone does not justify
21
+ a new service, transport layer or test platform.
22
+ - **Continue on evidence, not activity.** A handoff identifies what changed at the
23
+ checkpoint: a reproduction, a discriminating observation, a verified correction or
24
+ a concrete blocker, and the next test. A new worker, commit, diagnostic helper, test
25
+ count or green unrelated check is not delivery progress. Useful diagnostic evidence
26
+ can justify a bounded experiment; it does not reset acceptance/non-convergence counts.
27
+ - **Reassess repeated failure at the same checkpoint.** Carry prior evidence and
28
+ no-progress history across worker/model changes and new infrastructure. Follow
29
+ [expiry](expire.md); do not restart the same approach with a fresh brief or
30
+ count newly invented setup milestones as progress. Replan around a smaller case or a
31
+ different distinguishing test, keeping the original criteria and truthful blockers.
32
+ - **Report delivered behavior first.** Use existing plan notes/results to state criteria
33
+ completed and the current checkpoint. When available, include time to reproduction,
34
+ time to verified correction and full CI runs spent on this change. Do not invent
35
+ missing timings or create a separate reporting system to collect them.
36
+
37
+ These rules apply to briefs and coordinator decisions; they add no plan schema, check,
38
+ issue or automatic scheduler gate. They do not waive required validation.
39
+
40
+ ## Every brief contains
41
+
42
+ - the source and criteria, as a file already in the run directory
43
+ - the plan's `standingOrders`, verbatim, and the decisions that answer this unit's questions
44
+ - absolute run, workspace, and findings paths; for implementers, the unit's
45
+ findings entry and its parents' `contracts`
46
+ - model id, effort, and a required read-back
47
+ - an absolute skill path when the stage invokes a leaf skill; for validating, the unit's `proof.suite` `skill` (read it first) and `local`, when set
48
+ - the outcome and validation, with no prescribed method or evidence format
49
+ - the [immediate acceptance checkpoint](#delivery-progress), existing baseline (or none),
50
+ and, for a continuation, the last result, remaining uncertainty and next distinguishing
51
+ test; retain the same checkpoint/history when changing workers
52
+ - the [Goal](../SKILL.md#goal) and [Principles](../SKILL.md#principles), verbatim (a reviewer gets review.md's two rules instead)
53
+ - the result path, `<run>/results/<unit>-<label>.json` (`<label>`: kind and attempt, e.g. `fix-2`), with `unit` and `decisionNeeded` (null or a choice)
54
+ - at the deadline: stop starting work, commit, and report
55
+ - environment rules: write only inside the workspace (and the findings directory for the explorer),
56
+ with tool caches and temp files there (`TMPDIR`, `npm_config_cache`, `UV_CACHE_DIR`); use the machine's
57
+ installed JDK, Android SDK, system images, and browsers (`JAVA_HOME`, `ANDROID_HOME`) where they fit,
58
+ or the repo's pinned Playwright image where the runner has no browser (`github-actions` runners.md);
59
+ edit with the harness's tools, never a shell `apply_patch`
60
+
61
+ Treat a missing or unreadable result as an incomplete stage: resume a dead
62
+ spawn once in the same workspace, never with a success claim.
63
+
@@ -9,10 +9,12 @@ commit alone is not progress. Lows only fall, so the loop always ends.
9
9
  Example: CI fails 5 tests, then 3, then 3, then 3: expire after the fourth
10
10
  cycle. 3, 2, 3, 2 expires too: the second 2 is no new low. 5, 4, 3, 2, 1
11
11
  never expires. A failing journey run, local or dispatched, counts as one
12
- failing check, so count its furthest checkpoint instead (the last step its
13
- log reports passing): login, store, charge, charge, charge expires;
14
- login, store, charge, receipt keeps going. Checkpoints are finite, so this
15
- loop ends too.
12
+ failing check, so count its furthest **existing acceptance checkpoint** instead
13
+ (the last relevant step its log reports passing): login, store, charge, charge,
14
+ charge expires; login, store, charge, receipt keeps going. Extra instrumentation,
15
+ new infrastructure milestones or renaming a checkpoint do not extend this sequence.
16
+ Carry the comparison history across worker/model changes and retries; a genuinely
17
+ changed requirement needs an explicit scope decision, not an implicit reset.
16
18
 
17
19
  | Scope | Count that must reach a new low | Expire after |
18
20
  |---|---|---|
@@ -21,9 +23,17 @@ loop ends too.
21
23
  | Warehouse canary | distinct errors | 2 attempts without progress; record a follow-up, never block |
22
24
  | Review | open P0/P1 path rows | `review-verdict.mjs` verdict `handback` ([review.md](review.md#fix-loop)) |
23
25
  | CI and merge | failing checks and tests; a failing journey run (local or `gh workflow run`) is one check, so it progresses when it passes a checkpoint no earlier run of the attempt passed | 2 fix-and-watch cycles without progress |
24
- | Any worker the harness reports stuck, late, or at its ceiling | none: a resume [progresses](#retry-by-failure-mode) when it adds work the unit's PR needs (product code, tests, CI config, a fix of what blocks it) or meets another acceptance criterion; diagnostics and records alone are not progress | 2 resumes in a row that add neither |
26
+ | Any worker the harness reports stuck, late, or at its ceiling | a resume progresses when its verified result advances the existing checkpoint or reduces the established failure count; added product/test/CI code without that result is not progress, and diagnostics alone do not reset the count | 2 resumes in a row without such progress |
25
27
 
26
- Leave timing to the harness; never stop a worker still making progress.
28
+ Use [Delivery progress](../SKILL.md#delivery-progress) to choose the next bounded
29
+ experiment before applying this ladder. Reproducing a failure or collecting a missing
30
+ observation can be useful without advancing acceptance. Record that distinction; do
31
+ not count logs, helper code or a changed worker as a new low. On repeated non-convergence,
32
+ reassess the approach and preserve unpassed criteria rather than creating another setup
33
+ chain. Existing retry/block/replan rules below still apply.
34
+
35
+ Leave timing to the harness for worker lifetimes. Bound individual test/subprocess waits
36
+ explicitly with cleanup time; an outstanding tool call or heartbeat is not progress.
27
37
 
28
38
  ### Retry by failure mode
29
39
 
@@ -102,8 +112,9 @@ hours.
102
112
  wakes the run at the printed time.
103
113
  - `check-worker` means the worker changed no workspace file for
104
114
  `--quiet-minutes` (45 by default): read its latest output. Stuck: stop it
105
- and take the `timeout-task` response. Still working (a long test run with
106
- live output): let it run.
115
+ and take the `timeout-task` response. A long test with advancing test/phase results
116
+ inside its declared command deadline may continue. Repeated heartbeats, unchanged
117
+ logs or an unbounded child wait are not that evidence.
107
118
  - A watcher that ends with nothing new (a queue `STALLED` with no failing
108
119
  check) is a wait: restart it and report it in one line, or not at all.
109
120
 
@@ -202,14 +213,14 @@ logs, and record one line, with the reason code, in the unit's plan row.
202
213
 
203
214
  | Failure | Response |
204
215
  |---|---|
205
- | `timeout-task` or `spawn-death` | Resume in the kept workspace: commit what is there, then finish or report. Keep resuming while each resume makes [progress](#retry-by-failure-mode); after 2 in a row that add nothing, mark the unit `blocked` (`blockedReason: timeout-task` or `spawn-death`) and hand it back. A result with `decisionNeeded` is decided first ([Decide before you defer](#decide-before-you-defer)), and the resume that carries the decision always runs. Example: a fix worker loses its model stream twice but committed a fixture each time; start a third continuation. |
216
+ | `timeout-task` or `spawn-death` | Resume in the kept workspace: commit what is there, then finish or report. Keep resuming while each resume makes [progress](#retry-by-failure-mode); after 2 in a row without verified checkpoint/failure-count progress, mark the unit `blocked` (`blockedReason: timeout-task` or `spawn-death`) and hand it back. A result with `decisionNeeded` is decided first ([Decide before you defer](#decide-before-you-defer)), and the resume that carries the decision always runs. Example: a fix worker loses its model stream after its focused regression passes; resume the remaining work with that result. Two resumes that only add fixtures without advancing the existing checkpoint trigger reassessment. |
206
217
  | Environment or infrastructure (a check cannot run: cache, emulator, runner, network, credentials) | See [Infrastructure failures](#infrastructure-failures). |
207
218
  | Implement: a fix cycle without progress | Resume with the failing command and its output as the only target, using the escalation model. 2 cycles in a row without progress: `blocked` (`blockedReason: retry-implement`), deferred on its issue. |
208
219
  | Review: `review-verdict.mjs` verdict `fix` | Follow its `action` ([review.md](review.md#fix-loop)). |
209
220
  | Review: `review-verdict.mjs` verdict `handback` (`not-converging`) | Stop fixing; mark the unit `blocked` (`blockedReason: review-handback`) and defer the PR with its open findings on its issue. |
210
221
  | Review: `review-verdict.mjs` verdict `decide`, or a worker's `decisionNeeded` | [Decide before you defer](#decide-before-you-defer). |
211
222
  | CI: a fix cycle without progress | Treat the failing check as the failing test: the next fix worker runs on the escalation model with that check as its only target. 2 cycles in a row without progress: `blocked` (`blockedReason: retry-ci`), deferred on its issue. |
212
- | Too big for one attempt | Resume in the kept workspace while each resume makes [progress](#retry-by-failure-mode); after 2 in a row that make none, draft a split in `<run>/splits/`, file it into the spec's tree, and run the slices the sync adds ([preflight.md](preflight.md#put-every-filed-issue-in-the-tree)). |
223
+ | Too big for one attempt | Resume in the kept workspace while each resume makes [progress](#retry-by-failure-mode); after 2 in a row without verified checkpoint/failure-count progress, draft a split in `<run>/splits/`, file it into the spec's tree, and run the slices the sync adds ([preflight.md](preflight.md#put-every-filed-issue-in-the-tree)). |
213
224
  | A required proof the unit has no environment for yet | The unit builds it; see [Proof stays with its unit](#proof-stays-with-its-unit). |
214
225
  | Dependency | Fix the edge; resume when runnable. |
215
226
  | A capability the unit needs is missing and no unit builds it (a shared driver, fixture, or hook) | Build it inside the first unit that needs it; units that need it later get `dependsOn` on that unit. Only when that puts the unit past the size check's line limit, file it as its own issue beside them, with `blocked_by` on the units that use it, never on their parent issue. Example: three proof units each need a device-state reader: the first builds it, the other two depend on the first. |
@@ -229,7 +240,9 @@ dependents start while the parent still proves itself; only the unit's own
229
240
  merge waits for its proof.
230
241
 
231
242
  - **No working suite or environment yet? The unit builds what its proof
232
- needs**, with access the run already has (the run's local emulator, when
243
+ needs**, after recording why the existing path cannot prove that criterion and why
244
+ the proposed addition is the smallest suitable option ([Delivery progress](../SKILL.md#delivery-progress)),
245
+ with access the run already has (the run's local emulator, when
233
246
  [its queue](implementation.md#scheduling) hands it over, a
234
247
  disposable database, a container, a tunnel hostname), counted in its
235
248
  lines like a missing prerequisite. When two or more units need the same
@@ -59,6 +59,12 @@ boundary, workspace, outcome, validation, and return contract; prescribe no
59
59
  method or evidence format. Name a leaf skill only as the findings record it
60
60
  (`proof.suite.skill`, with `local`).
61
61
 
62
+ A continuation inherits the immediate acceptance checkpoint and history from
63
+ [Delivery progress](../SKILL.md#delivery-progress). In its existing result, state what
64
+ new evidence changes the next action; if nothing changed, say so instead of relaunching
65
+ the same work. A passing setup check is not a substitute for the blocked behavior.
66
+ No additional report or result schema is required.
67
+
62
68
  Have the implementer treat findings as leads, find its own code, and report
63
69
  any `product`, `scope`, `design`, or `approval` question the explorer missed and any
64
70
  human-only proof. Report each question in the result's `decisionNeeded`
@@ -87,7 +93,9 @@ implementer in its kept workspace with the brief and its findings entry.
87
93
  options, recommendation; options are ways to proceed, and staying
88
94
  blocked is never one). Fix workers write the same file. Return
89
95
  nothing else: no artifact hashes, version inventories, screenshots,
90
- copied logs, or earlier attempts.
96
+ copied logs, or earlier attempts. For a continuation, include the current checkpoint,
97
+ outcome and relevant prior-result links in the existing integration notes; do not
98
+ duplicate the full attempt history.
91
99
 
92
100
  After 2 fix cycles without progress, or a stuck or late worker, follow
93
101
  [expire.md](expire.md). Start the next worker in the same workspace with the
@@ -85,7 +85,7 @@ Fleet `status`: `pending`, `in-flight`, `succeeded`, `failed`,
85
85
  | `workerKind` | `implement`, `fix`, or `review`, set with `worker`; the [live-capacity scheduler](implementation.md#live-capacity) (`next-actions.mjs`) prints `worker-kind` for any other kind or none. An infrastructure diagnosis or a test-first worker is a `fix` worker. The explorer is the `explore` fleet row's worker, never a unit's; a merge-queue watcher is not a worker |
86
86
  | `estimatedLines` | Explorer estimate |
87
87
  | `sizeCheck` | Measures, `verdict` (the size check's per-unit verdict; `stop` means held), scope and proof verdicts, split or verification path; `runWhole: true` once a recommendation to run a held unit whole is accepted |
88
- | `note` | SHA, expiry reason code, failure and the response taken, or blocker |
88
+ | `note` | SHA, expiry reason code, failure and response, or blocker; for active debugging, the immediate acceptance checkpoint, baseline/result link and next distinguishing test ([delivery progress](../SKILL.md#delivery-progress)) |
89
89
  | `pr`, `headSha`, `reviewedHead` | PR URL, current HEAD (recorded from the implementer's first pushed commit on, so the draft PR opens early), last HEAD whose verdict was `pass` (reviewed or carried) |
90
90
  | `delivery` | `building`, `opening`, `review`, `ci`, `merged`, `blocked` |
91
91
  | `reviewRound`, `fixRound` | Review-attempt/file number, and the count of blocking-fix cycles (a record, not a cap); record both from the review/verdict, never charge skips, or reviews that follow a passing one, as fixes |
@@ -259,6 +259,9 @@ changes, unit outcomes, validation turning red or green, canary events,
259
259
  retries and escalations, newly runnable dependencies, PR open, HEAD change, or
260
260
  merge, and about every 5 minutes; skip when nothing changed.
261
261
 
262
- Final board: each unit's outcome with its scope and proof verdicts, every PR URL, SHA,
263
- and merge state, retry and escalation totals, each blocker, and the exploration
264
- path.
262
+ Final board: lead with behavior delivered and criteria still unproved, then each unit's
263
+ scope and proof verdicts, PR URL, SHA, merge state, retries, blocker and exploration path.
264
+ Use existing result timestamps and CI records, when available, for time to reproduction,
265
+ time to verified correction and full CI runs per delivered change. Mark missing data as
266
+ unknown. Worker/test counts describe activity, not acceptance; do not add a reporting
267
+ pipeline or duplicate the plan to produce these summaries.
@@ -4,7 +4,7 @@ description: "Slash/explicit-only (/resolve-release). Full GitHub Flow release f
4
4
  disable-model-invocation: true
5
5
  metadata:
6
6
  workflow-role: coordinator
7
- release-version: 0.42.1
7
+ release-version: 0.43.1
8
8
  ---
9
9
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
10
10
  # Resolve release
@@ -6,7 +6,7 @@ metadata:
6
6
  workflow-role: coordinator
7
7
  dependencies:
8
8
  - resolve-issues
9
- release-version: 0.42.1
9
+ release-version: 0.43.1
10
10
  ---
11
11
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
12
12
  # Rush issues (shortcut of resolve-issues)
@@ -50,7 +50,10 @@ question.
50
50
  and complete the goal
51
51
  ([done.md](../resolve-issues/references/done.md#close-the-run)).
52
52
  3. Everything else — run rules, stages, scripts, review, CI and merge, and the
53
- done criteria — applies exactly as `resolve-issues` states it.
53
+ done criteria — applies exactly as `resolve-issues` states it. In particular,
54
+ [Delivery progress](../resolve-issues/SKILL.md#delivery-progress) applies in shortcut
55
+ mode too: keep one immediate checkpoint per active unit, justify infrastructure and
56
+ reassess repeated non-convergence. More worker activity is not a reason to reset it.
54
57
  The shared [task-plan checkpoints](../resolve-issues/references/task-plan.md#checkpoints)
55
58
  apply too: on Pi, bind or reload through `update_plan` with the absolute
56
59
  workflow path and persisted revision (no event means read-only), then
@@ -6,7 +6,7 @@ metadata:
6
6
  workflow-role: coordinator
7
7
  dependencies:
8
8
  - resolve-release
9
- release-version: 0.42.1
9
+ release-version: 0.43.1
10
10
  ---
11
11
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
12
12
  # Rush release (shortcut of resolve-release)
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: test-quality
3
3
  description: "Seven principles for tests that catch real bugs, and an audit that reports weak, redundant, and not-coverage tests without fixing them. Use when writing, changing, or reviewing tests, or when asked whether tests are useful, redundant, over-mocked, flaky, only assert static text, or test config files, or asked to make a slow test suite faster without losing coverage, or when the user asks to write the testing conventions into a repo's CONTRIBUTING.md. NOT defining what a spec must prove (ensure-coverage) or authoring browser tests (e2e-test)."
4
- release-version: 0.42.1
4
+ release-version: 0.43.1
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Test Quality
@@ -2,7 +2,7 @@
2
2
  name: compliance-audit
3
3
  version: 2.9.0
4
4
  description: "Audit operations against financial-compliance checklists (AML/KYC, VARS, PCI-DSS, TPA oversight, onboarding, transaction monitoring). Produces tracker.md (with a tracker.xlsx export) and phase-trail.md with layered validation; cites evidence by original filename. Input: reg-parser or the built-in VARS checklist."
5
- release-version: 0.42.1
5
+ release-version: 0.43.1
6
6
  ---
7
7
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
8
8
  # Compliance Audit
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: contract-compare
3
3
  description: "Compare two or more contracts side-by-side for structured diff, gap analysis, and benchmarking. Use when: comparing contracts or agreements, contract diff, compare terms, vendor-vs-vendor, compare our template vs theirs, compliance gap between contracts. NOT for single-contract risk review — use contract-review for that."
4
- release-version: 0.42.1
4
+ release-version: 0.43.1
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Contract Compare
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: contract-review
3
3
  description: "Review contracts for legal, commercial, and compliance risks via convert → chunk review → merge → validate (+ optional mandate preprocessing). Use for reviewing, auditing, or checking any contract, agreement, NDA, MSA, or SLA; input a file path (PDF/DOCX/TXT) or pasted text."
4
- release-version: 0.42.1
4
+ release-version: 0.43.1
5
5
  ---
6
6
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
7
7
  # Contract Review
@@ -3,7 +3,7 @@ name: doc-authenticity
3
3
  version: 0.4.1
4
4
  description: "Screen PDF documents and raster images for fabrication, tampering, Photoshop or other image-editor use, and content validity. Detects file type, runs format-specific authenticity forensics, classifies bank statements, conversation logs, invoices, agreements, and other documents, then applies type-specific validity checks. Produces separate authenticity (NO_EVIDENCE_OF_MODIFICATION / SUSPICIOUS / LIKELY_MODIFIED / INCONCLUSIVE) and validity (VALID / INVALID / INCONCLUSIVE) verdicts. Use whenever a user asks whether a document, screenshot, scan, statement, invoice, contract, chat log, receipt, or payment evidence is genuine, original, edited, Photoshopped, manipulated, fake, or valid."
5
5
  disable-model-invocation: true
6
- release-version: 0.42.1
6
+ release-version: 0.43.1
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Document and Image Authenticity
@@ -10,7 +10,7 @@ description: >
10
10
  impact, and a business report. Use for fraud, scam, mule, account-takeover,
11
11
  chargeback, dispute, transfer, collection, or payout risk analysis even when the
12
12
  user does not name this skill.
13
- release-version: 0.42.1
13
+ release-version: 0.43.1
14
14
  ---
15
15
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
16
16
  # Fraud Analysis
@@ -14,7 +14,7 @@ description: >
14
14
  transactions" — even if they do not say payment-analysis. Do NOT use for
15
15
  supervised fraud-rule mining (fraud-analysis) or TLD / MCC-miscoding
16
16
  clusters (tld-detection).
17
- release-version: 0.42.1
17
+ release-version: 0.43.1
18
18
  ---
19
19
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
20
20
  # Payment Analysis
@@ -8,7 +8,7 @@ description: >
8
8
  links, an entity chain, and a watchlist for the operator's next domains.
9
9
  Not transaction data (tld-detection) or fraud rules (fraud-analysis).
10
10
  disable-model-invocation: true
11
- release-version: 0.42.1
11
+ release-version: 0.43.1
12
12
  ---
13
13
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
14
14
  # Similar Domain
@@ -11,7 +11,7 @@ description: >
11
11
  with a ≤3-sentence summary.
12
12
  Not payment-analysis, fraud-analysis, or website research (similar-domain).
13
13
  disable-model-invocation: true
14
- release-version: 0.42.1
14
+ release-version: 0.43.1
15
15
  ---
16
16
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
17
17
  # TLD Detection