@1aboveio/skills 1.0.12 → 1.0.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.
Files changed (100) hide show
  1. package/.codex-plugin/plugin.json +1 -1
  2. package/.codex-plugin/resources.json +151 -148
  3. package/README.md +1 -1
  4. package/package.json +5 -5
  5. package/skills/app-dev/airflow/SKILL.md +1 -1
  6. package/skills/app-dev/android-development/SKILL.md +126 -0
  7. package/skills/app-dev/android-development/references/android-conventions.md +117 -0
  8. package/skills/app-dev/{android-foundation → android-development}/references/ci.md +10 -6
  9. package/skills/app-dev/{android-foundation → android-development}/references/diagnosis.md +39 -15
  10. package/skills/app-dev/android-development/references/feature-work.md +171 -0
  11. package/skills/app-dev/android-development/references/framework-choice.md +88 -0
  12. package/skills/app-dev/{android-foundation → android-development}/references/gotchas.md +43 -6
  13. package/skills/app-dev/android-development/references/init.md +104 -0
  14. package/skills/app-dev/android-development/references/setup.md +389 -0
  15. package/skills/app-dev/android-development/references/workspace.md +156 -0
  16. package/skills/app-dev/android-development/scripts/init.mjs +380 -0
  17. package/skills/app-dev/app-debug/SKILL.md +1 -1
  18. package/skills/app-dev/better-auth/SKILL.md +1 -1
  19. package/skills/app-dev/data-catalog/SKILL.md +1 -1
  20. package/skills/app-dev/data-quality/SKILL.md +1 -1
  21. package/skills/app-dev/ios-foundation/SKILL.md +2 -2
  22. package/skills/app-dev/monorepo/SKILL.md +1 -1
  23. package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
  24. package/skills/app-dev/prisma-setup/SKILL.md +1 -1
  25. package/skills/app-dev/pyspark/SKILL.md +1 -1
  26. package/skills/app-dev/python-backend/SKILL.md +1 -1
  27. package/skills/app-dev/shadcn/SKILL.md +1 -1
  28. package/skills/app-dev/zod-v4/SKILL.md +1 -1
  29. package/skills/cicd/cloud-build/SKILL.md +1 -1
  30. package/skills/cicd/cloud-debug/SKILL.md +1 -1
  31. package/skills/cicd/cloud-deploy/SKILL.md +1 -1
  32. package/skills/cicd/docker/SKILL.md +1 -1
  33. package/skills/cicd/github-actions/SKILL.md +1 -1
  34. package/skills/cicd/github-flow/SKILL.md +1 -1
  35. package/skills/cicd/google-cloud/SKILL.md +1 -1
  36. package/skills/cicd/mergify/SKILL.md +1 -1
  37. package/skills/cicd/podman/SKILL.md +1 -1
  38. package/skills/content/article-review/SKILL.md +1 -1
  39. package/skills/content/article-to-image/SKILL.md +1 -1
  40. package/skills/content/flowchart-svg/SKILL.md +1 -1
  41. package/skills/content/image-gen/SKILL.md +1 -1
  42. package/skills/content/mermaid/SKILL.md +1 -1
  43. package/skills/content/wechat-article-writer/SKILL.md +1 -1
  44. package/skills/content/wechat-publisher/SKILL.md +1 -1
  45. package/skills/content/wechat-search/SKILL.md +1 -1
  46. package/skills/content/xai-search/SKILL.md +1 -1
  47. package/skills/core/distill-writing/SKILL.md +1 -1
  48. package/skills/core/doc-to-md/SKILL.md +1 -1
  49. package/skills/core/editorial-review/SKILL.md +1 -1
  50. package/skills/core/house-style/SKILL.md +1 -1
  51. package/skills/core/plain-language/SKILL.md +1 -1
  52. package/skills/core/polish-cn/SKILL.md +1 -1
  53. package/skills/core/reg-parser/SKILL.md +1 -1
  54. package/skills/core/terminology/SKILL.md +1 -1
  55. package/skills/core/write-doc/SKILL.md +1 -1
  56. package/skills/core/write-report/SKILL.md +1 -1
  57. package/skills/engineering/better-review/SKILL.md +1 -1
  58. package/skills/engineering/e2e-test/SKILL.md +1 -1
  59. package/skills/engineering/engineering/SKILL.md +9 -3
  60. package/skills/engineering/engineering/references/init-scope.md +7 -3
  61. package/skills/engineering/engineering/references/scope-management.md +9 -0
  62. package/skills/engineering/engineering/scripts/init.mjs +40 -17
  63. package/skills/engineering/engineering-runtime/SKILL.md +1 -1
  64. package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
  65. package/skills/engineering/ensure-coverage/SKILL.md +1 -1
  66. package/skills/engineering/golden-path/SKILL.md +1 -1
  67. package/skills/engineering/harness-runtime/SKILL.md +1 -1
  68. package/skills/engineering/resolve-issues/SKILL.md +4 -3
  69. package/skills/engineering/resolve-issues/references/ci.md +9 -3
  70. package/skills/engineering/resolve-issues/references/delivery-progress.md +12 -2
  71. package/skills/engineering/resolve-issues/references/expire.md +16 -8
  72. package/skills/engineering/resolve-issues/references/exploration.md +1 -1
  73. package/skills/engineering/resolve-issues/references/implementation.md +15 -7
  74. package/skills/engineering/resolve-issues/references/principles.md +5 -3
  75. package/skills/engineering/resolve-issues/scripts/next-actions.mjs +5 -2
  76. package/skills/engineering/resolve-release/SKILL.md +1 -1
  77. package/skills/engineering/rush-issues/SKILL.md +1 -1
  78. package/skills/engineering/rush-release/SKILL.md +1 -1
  79. package/skills/engineering/test-quality/SKILL.md +1 -1
  80. package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
  81. package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
  82. package/skills/risk-compliance/contract-review/SKILL.md +1 -1
  83. package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
  84. package/skills/risk-compliance/fraud-detection/SKILL.md +1 -1
  85. package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
  86. package/skills/risk-compliance/portfolio-payment-analysis/SKILL.md +1 -1
  87. package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
  88. package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
  89. package/skills/app-dev/android-foundation/SKILL.md +0 -248
  90. package/skills/app-dev/android-foundation/references/delivery-focus.md +0 -31
  91. package/skills/app-dev/android-foundation/references/feature-work.md +0 -50
  92. package/skills/app-dev/android-foundation/references/setup.md +0 -188
  93. package/skills/app-dev/android-foundation/references/workspace.md +0 -81
  94. /package/skills/app-dev/{android-foundation → android-development}/LICENSE +0 -0
  95. /package/skills/app-dev/{android-foundation → android-development}/assets/android-ci-job.yml +0 -0
  96. /package/skills/app-dev/{android-foundation → android-development}/release-check.mjs +0 -0
  97. /package/skills/app-dev/{android-foundation → android-development}/scripts/device-run.sh +0 -0
  98. /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/bin/workspaces.mjs +0 -0
  99. /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/native-workspace.mjs +0 -0
  100. /package/skills/app-dev/{android-foundation → android-development}/scripts/workspace-runtime/workspace-lifecycle.mjs +0 -0
@@ -369,7 +369,7 @@
369
369
  "repository": "1aboveio/ai",
370
370
  "revision": "main"
371
371
  },
372
- "contentDigest": "e1a3eda72480a554a71b876b0803ffadb6d975f57ce73e9ae84e3a30a75630bc",
372
+ "contentDigest": "d50381c5d34f05b3c4ac60bd0d1a5a56fdeb7112caf3a58303e2c8d5b9cd73d4",
373
373
  "digestExcludes": []
374
374
  },
375
375
  {
@@ -382,7 +382,7 @@
382
382
  "repository": "1aboveio/ai",
383
383
  "revision": "main"
384
384
  },
385
- "contentDigest": "4976da3d810ab0a712121dfc5acbd62f63f8ae42ec0116431ad7d27d0c52a324",
385
+ "contentDigest": "7fb81756e33e2582cc02b2a964af1361a474ddae64f1304dfdff680162e5f35e",
386
386
  "digestExcludes": []
387
387
  },
388
388
  {
@@ -395,7 +395,7 @@
395
395
  "repository": "1aboveio/ai",
396
396
  "revision": "main"
397
397
  },
398
- "contentDigest": "32204a3fe185c2ea79eb27b0dd4055c321ef7b9f152ffc3a374b714ae8d465fa",
398
+ "contentDigest": "08e07649d8ee91496a4275c9417cd679932d798c91cdbb483ca45979733dd0c3",
399
399
  "digestExcludes": []
400
400
  },
401
401
  {
@@ -408,7 +408,7 @@
408
408
  "repository": "1aboveio/ai",
409
409
  "revision": "main"
410
410
  },
411
- "contentDigest": "6dc6606527c8023eb1f79a188ae73bea4fafe8b339ed391a00fae60340107e0c",
411
+ "contentDigest": "45e72502bf9d1f707caf2990ba8a9bda7fbda4e748b5f798731a1d0d992b0b02",
412
412
  "digestExcludes": []
413
413
  },
414
414
  {
@@ -421,7 +421,7 @@
421
421
  "repository": "1aboveio/ai",
422
422
  "revision": "main"
423
423
  },
424
- "contentDigest": "0ec4a9d50c9918d1219a2454ea2aad7eb3ffdabe917319c55d7928c6d5e3580e",
424
+ "contentDigest": "5cf9c65216eda37ed0acebcaa97be9eea9239fad96397cdd858b4694cae9d906",
425
425
  "digestExcludes": []
426
426
  },
427
427
  {
@@ -434,7 +434,7 @@
434
434
  "repository": "1aboveio/ai",
435
435
  "revision": "main"
436
436
  },
437
- "contentDigest": "388bd68865a9af12e76b1a522f879684546d5d03427649df5639b16d0b0240b9",
437
+ "contentDigest": "6e1c15f7d61a3bb2af78df82b57674152d9c321cc17b5a83d32379cc0a9104ef",
438
438
  "digestExcludes": []
439
439
  },
440
440
  {
@@ -447,7 +447,7 @@
447
447
  "repository": "1aboveio/ai",
448
448
  "revision": "main"
449
449
  },
450
- "contentDigest": "d7552f7681020f9cd4ed72dbde105adb5b172e40ba4119bcbb0d4685688faf18",
450
+ "contentDigest": "303941d679cacbafc5594a6b8369e016cef3cdf3c065ae919edc8695cbce8a69",
451
451
  "digestExcludes": []
452
452
  },
453
453
  {
@@ -460,7 +460,7 @@
460
460
  "repository": "1aboveio/ai",
461
461
  "revision": "main"
462
462
  },
463
- "contentDigest": "414606c12207509b0d9207b0021dbb29bcb1689ca7d7486496ab2bc6a1dfecfc",
463
+ "contentDigest": "d8de3acaf463033d55e5bedf17b5aeac8e9a1d77267c5960af18bdebbaf18c7d",
464
464
  "digestExcludes": []
465
465
  },
466
466
  {
@@ -473,7 +473,7 @@
473
473
  "repository": "1aboveio/ai",
474
474
  "revision": "main"
475
475
  },
476
- "contentDigest": "274f5ac6be3224dfdafaa4264cfa0ed223e3b98cf3cbd2c083b6c85314a92791",
476
+ "contentDigest": "8b8a149b90292ae4b0c3dd8b34a387ea7fa8c154610c232c8c55ce9781cca03d",
477
477
  "digestExcludes": []
478
478
  },
479
479
  {
@@ -486,7 +486,7 @@
486
486
  "repository": "1aboveio/ai",
487
487
  "revision": "main"
488
488
  },
489
- "contentDigest": "a6efa258db14db8a4cab8600bcbdc2563c61531a51a486508ed42da70824be86",
489
+ "contentDigest": "553b2748b6357b92caa30ee29351add044d10cc6ad28e4cdb809f4f23bb5a9da",
490
490
  "digestExcludes": []
491
491
  },
492
492
  {
@@ -499,7 +499,7 @@
499
499
  "repository": "1aboveio/ai",
500
500
  "revision": "main"
501
501
  },
502
- "contentDigest": "869bf4214b7e80e4968e4488f2f6ad4a944b2393a343ad40157e45f694457814",
502
+ "contentDigest": "65bb8314e2fe1f2ebbdca60f2dcd433af44a8eeba080adf30f0682ef5c0a2acd",
503
503
  "digestExcludes": []
504
504
  },
505
505
  {
@@ -512,13 +512,13 @@
512
512
  "repository": "1aboveio/ai",
513
513
  "revision": "main"
514
514
  },
515
- "contentDigest": "bc78899c2a745aedee9f547a16b8c2be2ffab8a128695b033991802d033db303",
515
+ "contentDigest": "9fb61a9e59fee73ff803113e9d33e47bc19a2ef5ce92c06f63a4d5cca8a72189",
516
516
  "digestExcludes": [
517
517
  "coherence/workflow.json"
518
518
  ]
519
519
  }
520
520
  ],
521
- "releaseIdentity": "fed4e4c161cf525a08eee89fb30ba578ec21962b2d4cb9c9226fc61146fe4225",
521
+ "releaseIdentity": "d0f4c3cc3c13714b4d4be17f6b8b1f56aff7fe1901be7c7823f4faba348baeb6",
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.45.1
5
+ release-version: 0.46.0
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.45.1
6
+ release-version: 0.46.0
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.45.1
6
+ release-version: 0.46.0
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.45.1
11
+ release-version: 0.46.0
12
12
  ---
13
13
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
14
14
  # Resolve issues
@@ -41,7 +41,8 @@ what did not pass).
41
41
  ## Principles
42
42
 
43
43
  Read the [delivery principles](references/principles.md) before substantive work
44
- and include them verbatim in every worker brief. They are guidelines, not
44
+ for coordinator decisions. Give workers only the principles relevant to their task,
45
+ not the coordinator's scheduling instructions. They are guidelines, not
45
46
  restrictions: when two pull apart, take the one that ships sooner at the same bar.
46
47
 
47
48
  `/rush-issues` runs this workflow with every answer defaulted ([shortcut mode](references/preflight.md#shortcut-mode)).
@@ -130,7 +131,7 @@ infrastructure, and report verified behavior. Full acceptance and required CI st
130
131
  ## Every brief contains
131
132
 
132
133
  Use the full [brief checklist](references/delivery-progress.md#every-brief-contains),
133
- including the Goal and [Principles](references/principles.md) verbatim, checkpoint history and result contract.
134
+ including the worker-specific contract, checkpoint history and result contract.
134
135
  Treat a missing or unreadable result as incomplete; resume a dead spawn once in its workspace.
135
136
 
136
137
  ## Workflow
@@ -1,7 +1,11 @@
1
1
  # CI, queue, and merge
2
2
 
3
- Run per PR, in parallel with its review, from the moment its draft PR
4
- opens.
3
+ The coordinator owns external CI and PR monitoring, review scheduling, readiness,
4
+ enqueue and merge per PR, in parallel with review from the moment the draft opens.
5
+ Use background tasks for CI and delivery watching so scheduling can continue; follow
6
+ the queue owner's watcher where applicable. Workers may make short status reads or
7
+ fetch failed logs for diagnosis, but must not run `gh run watch`,
8
+ `gh pr checks --watch`, a delivery watcher, or create background monitoring.
5
9
 
6
10
  1. Watch the required checks for every pushed HEAD. Pushes to the unit's own
7
11
  PR branch need no approval. Green means every required check ran and passed
@@ -10,7 +14,9 @@ opens.
10
14
  2. On failure, read the logs; have a fix worker reproduce it, fix it on the
11
15
  same branch, rerun the failing check (a journey: off CI, with
12
16
  `proof.suite.local`) and the checks the fix affects plus
13
- typecheck and build, and return the commands and results. An
17
+ typecheck and build, push the permitted branch, write its result and return
18
+ without waiting for CI. Pending CI is not a pass and does not weaken acceptance.
19
+ Long local tests and builds needed for the repair are allowed. An
14
20
  infrastructure failure goes to [expire.md](expire.md#infrastructure-failures).
15
21
  3. A changed HEAD needs approval bound to that HEAD: push it and let CI
16
22
  run. After a passing review, [carry](review.md#carry-after-a-pass) it:
@@ -49,9 +49,19 @@ issue or automatic scheduler gate. They do not waive required validation.
49
49
  - the [immediate acceptance checkpoint](#delivery-progress), existing baseline (or none),
50
50
  and, for a continuation, the last result, remaining uncertainty and next distinguishing
51
51
  test; retain the same checkpoint/history when changing workers
52
- - the [Goal](../SKILL.md#goal) and [Principles](principles.md), verbatim (a reviewer gets review.md's two rules instead)
52
+ - a concise worker-specific contract: business outcome and context, full acceptance,
53
+ security and quality requirements, and principles relevant to the assigned work; a
54
+ reviewer gets review.md's two rules instead. Do not forward coordinator scheduling
55
+ instructions wholesale
56
+ - for implement and fix workers: implement or repair, run focused checks and required
57
+ local validation, push the permitted branch, write the result, and return. The
58
+ coordinator owns external CI/PR monitoring, review scheduling, readiness, enqueue
59
+ and merge. Short status reads and fetching failed logs for diagnosis are allowed;
60
+ no `gh run watch`, `gh pr checks --watch`, delivery watcher, or worker-created
61
+ background monitoring. Long local tests and builds remain allowed when needed.
62
+ Pending CI is a valid handoff, not a passed check or permission to weaken acceptance
53
63
  - 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
64
+ - at the deadline: stop starting work, commit, and report; identify any unpushed work or pending checks
55
65
  - environment rules: write only inside the workspace and its planned resources (and the findings directory for the explorer),
56
66
  with private caches and temp files registered before use (`TMPDIR`, `npm_config_cache`, `UV_CACHE_DIR`);
57
67
  reuse them through retries and return them to the cleanup owner ([workspaces](workspaces.md)); use the machine's
@@ -109,14 +109,22 @@ Example: a worker ran from 08:16; its workspace last changed at 09:10, and
109
109
  nothing was checked until the human asked at 11:19. It had been stuck for two
110
110
  hours.
111
111
 
112
- - Record `workerSince` when you start a worker. While any worker runs, keep
113
- one heartbeat running (a background `sleep 1800`) so a completion notice
114
- reaches you even when no worker finishes; on each notice read fresh capacity
115
- and run `next-actions.mjs` with the [live capacity arguments](implementation.md#live-capacity).
116
- When it prints only `wait`, keep the heartbeat and end the turn: the harness
117
- wakes the run at the printed time.
118
- - `check-worker` means the worker changed no workspace file for
119
- `--quiet-minutes` (45 by default): read its latest output. Stuck: stop it
112
+ - Record `workerSince` when you start a worker. Pi's subagent extension attaches
113
+ every single or batch launch to one shared supervision watcher and stops it
114
+ when the last active worker ends. Leave stall detection enabled; do not start
115
+ a separate heartbeat or background watcher for subagents. On a completion or
116
+ stale-worker notice, read fresh capacity and run `next-actions.mjs` with the
117
+ [live capacity arguments](implementation.md#live-capacity).
118
+ - When the scheduler prints only `wait`, no worker is active. Arm one one-shot
119
+ background timer for the earliest retry time before ending the turn; the
120
+ scheduler prints the deadline but does not schedule a wakeup. Use the `wait`
121
+ action's `delaySeconds` for `sleep`, with its completion callback enabled.
122
+ Keep its task ID in the run's note. Reuse it while its deadline is unchanged;
123
+ cancel and replace it if the deadline changes, and cancel it when work resumes
124
+ or the run finishes. This retry timer is not a worker watcher.
125
+ - A stale-worker notice or `check-worker` calls for inspection, not automatic
126
+ termination. `check-worker` means no workspace file changed for
127
+ `--quiet-minutes` (45 by default): read the worker's latest output. Stuck: stop it
120
128
  and take the `timeout-task` response. A long test with advancing test/phase results
121
129
  inside its declared command deadline may continue. Repeated heartbeats, unchanged
122
130
  logs or an unbounded child wait are not that evidence.
@@ -100,7 +100,7 @@ four are copied.
100
100
  reproduce a failed journey with it before they push a fix; never a CI
101
101
  dispatch (`gh workflow run`, `gh run rerun`). `check` may be one.
102
102
  - `skill` (every suite, present or missing): the absolute `SKILL.md` path of the installed skill for this
103
- kind of journey (an emulator journey: `android-foundation`; a browser
103
+ kind of journey (an emulator journey: `android-development`; a browser
104
104
  one: `e2e-test`), or `null` when none is installed.
105
105
  Example: `check` dispatches the workflow input that runs the Charge
106
106
  journey; `local` runs that Charge journey script on an owned emulator,
@@ -2,9 +2,10 @@
2
2
 
3
3
  ## Principles
4
4
 
5
- Give these to every implementer and fix worker, with SKILL.md's
6
- [Principles](../SKILL.md#principles). Each is a guideline toward the
7
- [Goal](../SKILL.md#goal), then an example.
5
+ Use these worker-relevant guidelines in implementer and fix briefs, alongside the
6
+ [worker contract](delivery-progress.md#every-brief-contains). Each serves the
7
+ [Goal](../SKILL.md#goal), then gives an example; coordinator scheduling stays with
8
+ the coordinator.
8
9
 
9
10
  1. **Done is the requested outcome working and its agreed criteria passing at `proof.level`.**
10
11
  Example: the Charge layout persists per installation and the repository test passes
@@ -27,9 +28,9 @@ Give these to every implementer and fix worker, with SKILL.md's
27
28
  5. **Run focused checks locally; CI runs the rest.**
28
29
  Example: run the touched package's tests and typecheck, push, and let CI
29
30
  run the full matrix. Never rebuild a release device campaign in a unit.
30
- 6. **Report in one short record.**
31
+ 6. **Report in one short record and return.**
31
32
  Example: "Persists the Charge layout per installation. Ran charge tests
32
- and typecheck: pass. CI: <link>. Pending: release device campaign
33
+ and typecheck: pass. CI: pending. Pending: release device campaign
33
34
  (#1400)." Provenance, when required, is the CI run's artifacts.
34
35
 
35
36
  After the approval, schedule runnable units continuously within
@@ -104,7 +105,13 @@ implementer in its kept workspace with the brief and its findings entry.
104
105
  nothing else: no artifact hashes, version inventories, screenshots,
105
106
  copied logs, or earlier attempts. For a continuation, include the current checkpoint,
106
107
  outcome and relevant prior-result links in the existing integration notes; do not
107
- duplicate the full attempt history.
108
+ duplicate the full attempt history. After focused validation, the permitted push,
109
+ and the result, return without waiting for external CI or PR monitoring. Report
110
+ pending CI as pending; it does not meet full acceptance. The coordinator schedules
111
+ review and owns CI, readiness, enqueue and merge. Short status reads and failed-log
112
+ retrieval for diagnosis are allowed, but worker-created background monitoring,
113
+ delivery watchers, `gh run watch`, and `gh pr checks --watch` are not. This does
114
+ not prohibit long local tests or builds needed for the assigned validation.
108
115
 
109
116
  After 2 fix cycles without progress, or a stuck or late worker, follow
110
117
  [expire.md](expire.md). Start the next worker in the same workspace with the
@@ -125,7 +132,8 @@ transcript.
125
132
  only they show. A journey can satisfy several obligations it actually exercises;
126
133
  a new branch does not automatically need another test layer.
127
134
  - When CI runs the unit's `browser` or `emulator` suite, CI proves it: push
128
- and read the journey's result on the pushed HEAD. CI confirms a fix; it
135
+ and the coordinator reads the journey's result on the pushed HEAD. The worker
136
+ returns with CI pending. CI confirms a fix; it
129
137
  never debugs one. After a failed journey, reproduce it with
130
138
  `proof.suite.local` before the next push or dispatch. When `local` passes
131
139
  where CI fails, the difference is the environment: run CI once more with
@@ -1,7 +1,8 @@
1
1
  # Delivery principles
2
2
 
3
- Guidelines, not restrictions; put them in every brief. When two pull apart, take the one that
4
- ships sooner at the same bar.
3
+ Coordinator guidance, not a worker brief. Give workers only the principles relevant to
4
+ their assignment; do not forward scheduling instructions wholesale. These are guidelines,
5
+ not restrictions; when two pull apart, take the one that ships sooner at the same bar.
5
6
 
6
7
  1. **Deliver when the requested behavior works and the agreed checks pass.**
7
8
  Example: the cashier can submit the Charge, the plan's charge tests and typecheck
@@ -30,7 +31,8 @@ ships sooner at the same bar.
30
31
  reviewer. A P0/P1 fix: delta; one that rewrote most of the PR: full.
31
32
  7. **Coordinate first.** On every completion notice, read fresh capacity and run `scripts/next-actions.mjs --run <run>`
32
33
  with the [live capacity arguments](implementation.md#live-capacity); do everything it prints
33
- before resuming your own work; keep a [heartbeat](expire.md#waits).
34
+ before resuming your own work. The harness owns [worker monitoring](expire.md#waits);
35
+ do not start a duplicate heartbeat.
34
36
  Example: mid-way through an emulator debug, a notice says `impl-1322`
35
37
  finished; the script prints `start-review 1322` and `fill-slot 1323`, so
36
38
  start both, then return to the debug. On a new invocation, call it first with `--resume`.
@@ -67,7 +67,7 @@
67
67
  // retry-blocked everything else is settled and a unit blocked on a cause that can clear by
68
68
  // itself (retry-*, timeout-task, spawn-death, external-blocker) is due its next automatic attempt
69
69
  // (30m, 2h, 8h after blockedAt): set it in-flight, autoRetries + 1
70
- // wait the same, but no attempt is due yet: keep a heartbeat, never finish
70
+ // wait no worker is active and no retry is due: arm one one-shot timer, never finish
71
71
  // finish every unit is delivered, blocked, cancelled, or not started behind one of
72
72
  // those (named in the detail, with units built whose PR cannot open because a
73
73
  // parent will not land): write the handoff. For a
@@ -686,7 +686,10 @@ export function nextActions(plan, reviews = {}, capacity, { resume = false, now,
686
686
  for (const u of retryable.filter((v) => !v.blockedAt || !Number.isFinite(now))) due.push({ action: 'retry-blocked', unit: String(u.id), detail: retryDetail(u) })
687
687
  } else if (retryable.length) {
688
688
  const next = retryable.reduce((a, u) => (dueAt(u) < dueAt(a) ? u : a))
689
- due.push({ action: 'wait', unit: String(next.id), detail: `unit ${next.id} is blocked (${next.blockedReason}); its next automatic attempt is at ${new Date(dueAt(next)).toISOString()}: keep a heartbeat until then and do not finish` })
689
+ const wakeAt = new Date(dueAt(next)).toISOString()
690
+ const delaySeconds = Math.max(0, Math.ceil((dueAt(next) - now) / 1000))
691
+ due.push({ action: 'wait', unit: String(next.id), wakeAt, delaySeconds,
692
+ detail: `unit ${next.id} is blocked (${next.blockedReason}); its next automatic attempt is at ${wakeAt}: arm one one-shot background retry timer (sleep ${delaySeconds}, completion callback enabled); cancel any obsolete retry timer and do not finish` })
690
693
  } else {
691
694
  const retained = units.filter((u) => managed(u) && u.lifecycle?.cleanup?.state === 'retained').map((u) => `${u.id}: ${u.lifecycle.cleanup.reason}`)
692
695
  due.push({ action: 'finish', unit: null, detail: `every unit is delivered, blocked, cancelled, or not started behind one of those: write the handoff${parked.length ? `; not started: ${parked.join(', ')}` : ''}${built.length ? `; built, PR not opened: ${built.join(', ')}` : ''}${openWaiting.length ? `; PR open, cannot land: ${openWaiting.join(', ')}` : ''}${retained.length ? `; retained environments (not cleaned): ${retained.join('; ')}` : ''}` })
@@ -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.45.1
7
+ release-version: 0.46.0
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.45.1
9
+ release-version: 0.46.0
10
10
  ---
11
11
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
12
12
  # Rush issues (shortcut of resolve-issues)
@@ -6,7 +6,7 @@ metadata:
6
6
  workflow-role: coordinator
7
7
  dependencies:
8
8
  - resolve-release
9
- release-version: 0.45.1
9
+ release-version: 0.46.0
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.45.1
4
+ release-version: 0.46.0
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.45.1
5
+ release-version: 0.46.0
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.45.1
4
+ release-version: 0.46.0
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.45.1
4
+ release-version: 0.46.0
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.45.1
6
+ release-version: 0.46.0
7
7
  ---
8
8
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
9
9
  # Document and Image Authenticity
@@ -12,7 +12,7 @@ description: >
12
12
  impact, and a business report. Use for fraud, scam, mule, account-takeover,
13
13
  chargeback, dispute, transfer, collection, or payout risk analysis even when the
14
14
  user does not name this skill.
15
- release-version: 0.45.1
15
+ release-version: 0.46.0
16
16
  ---
17
17
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
18
18
  # Fraud Detection
@@ -14,7 +14,7 @@ description: >
14
14
  transactions" — even if they do not say payment-analysis. Do NOT use for
15
15
  fraud rule discovery (fraud-detection) or TLD / MCC-miscoding
16
16
  clusters (tld-detection).
17
- release-version: 0.45.1
17
+ release-version: 0.46.0
18
18
  ---
19
19
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
20
20
  # Payment Analysis
@@ -5,7 +5,7 @@ description: >
5
5
  and investigate selected merchants' authorization, settlement and disputes,
6
6
  including descriptor mapping and overlapping exports. Portfolio-level payment
7
7
  overviews belong to payment-analysis; fraud rule discovery belongs to fraud-detection.
8
- release-version: 0.45.1
8
+ release-version: 0.46.0
9
9
  ---
10
10
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
11
11
  # Portfolio 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-detection).
10
10
  disable-model-invocation: true
11
- release-version: 0.45.1
11
+ release-version: 0.46.0
12
12
  ---
13
13
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
14
14
  # Similar Domain
@@ -6,7 +6,7 @@ description: >
6
6
  patterns, with USD and BIN-country currency views, group profiles and priorities.
7
7
  Not payment-analysis, fraud-detection, or website research.
8
8
  disable-model-invocation: true
9
- release-version: 0.45.1
9
+ release-version: 0.46.0
10
10
  ---
11
11
  **Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
12
12
  # TLD detection