@1aboveio/skills 1.0.11 → 1.0.13
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/.codex-plugin/plugin.json +1 -1
- package/.codex-plugin/resources.json +136 -135
- package/package.json +4 -4
- package/skills/app-dev/airflow/SKILL.md +1 -1
- package/skills/app-dev/android-foundation/SKILL.md +1 -1
- package/skills/app-dev/app-debug/SKILL.md +1 -1
- package/skills/app-dev/better-auth/SKILL.md +1 -1
- package/skills/app-dev/data-catalog/SKILL.md +1 -1
- package/skills/app-dev/data-quality/SKILL.md +1 -1
- package/skills/app-dev/ios-foundation/SKILL.md +1 -1
- package/skills/app-dev/monorepo/SKILL.md +1 -1
- package/skills/app-dev/nextjs-fullstack/SKILL.md +1 -1
- package/skills/app-dev/prisma-setup/SKILL.md +1 -1
- package/skills/app-dev/pyspark/SKILL.md +1 -1
- package/skills/app-dev/python-backend/SKILL.md +1 -1
- package/skills/app-dev/shadcn/SKILL.md +1 -1
- package/skills/app-dev/zod-v4/SKILL.md +1 -1
- package/skills/cicd/cloud-build/SKILL.md +1 -1
- package/skills/cicd/cloud-debug/SKILL.md +1 -1
- package/skills/cicd/cloud-deploy/SKILL.md +1 -1
- package/skills/cicd/docker/SKILL.md +1 -1
- package/skills/cicd/github-actions/SKILL.md +1 -1
- package/skills/cicd/github-flow/SKILL.md +1 -1
- package/skills/cicd/google-cloud/SKILL.md +1 -1
- package/skills/cicd/mergify/SKILL.md +1 -1
- package/skills/cicd/podman/SKILL.md +1 -1
- package/skills/content/article-review/SKILL.md +1 -1
- package/skills/content/article-to-image/SKILL.md +1 -1
- package/skills/content/flowchart-svg/SKILL.md +1 -1
- package/skills/content/image-gen/SKILL.md +1 -1
- package/skills/content/mermaid/SKILL.md +1 -1
- package/skills/content/wechat-article-writer/SKILL.md +1 -1
- package/skills/content/wechat-publisher/SKILL.md +1 -1
- package/skills/content/wechat-search/SKILL.md +1 -1
- package/skills/content/xai-search/SKILL.md +1 -1
- package/skills/core/distill-writing/SKILL.md +1 -1
- package/skills/core/doc-to-md/SKILL.md +1 -1
- package/skills/core/editorial-review/SKILL.md +1 -1
- package/skills/core/house-style/SKILL.md +1 -1
- package/skills/core/plain-language/SKILL.md +1 -1
- package/skills/core/polish-cn/SKILL.md +1 -1
- package/skills/core/reg-parser/SKILL.md +1 -1
- package/skills/core/terminology/SKILL.md +1 -1
- package/skills/core/write-doc/SKILL.md +1 -1
- package/skills/core/write-report/SKILL.md +1 -1
- package/skills/engineering/better-review/SKILL.md +1 -1
- package/skills/engineering/e2e-test/SKILL.md +1 -1
- package/skills/engineering/engineering/SKILL.md +81 -4
- package/skills/engineering/engineering/references/init-scope.md +9 -1
- package/skills/engineering/engineering/references/scope-management.md +85 -0
- package/skills/engineering/engineering-runtime/SKILL.md +1 -1
- package/skills/engineering/engineering-runtime/coherence/workflow.json +13 -13
- package/skills/engineering/ensure-coverage/SKILL.md +1 -1
- package/skills/engineering/golden-path/SKILL.md +1 -1
- package/skills/engineering/harness-runtime/SKILL.md +1 -1
- package/skills/engineering/resolve-issues/SKILL.md +4 -3
- package/skills/engineering/resolve-issues/references/ci.md +9 -3
- package/skills/engineering/resolve-issues/references/delivery-progress.md +12 -2
- package/skills/engineering/resolve-issues/references/expire.md +16 -8
- package/skills/engineering/resolve-issues/references/implementation.md +15 -7
- package/skills/engineering/resolve-issues/references/principles.md +5 -3
- package/skills/engineering/resolve-issues/scripts/next-actions.mjs +5 -2
- package/skills/engineering/resolve-release/SKILL.md +1 -1
- package/skills/engineering/rush-issues/SKILL.md +1 -1
- package/skills/engineering/rush-release/SKILL.md +1 -1
- package/skills/engineering/test-quality/SKILL.md +1 -1
- package/skills/risk-compliance/compliance-audit/SKILL.md +1 -1
- package/skills/risk-compliance/contract-compare/SKILL.md +1 -1
- package/skills/risk-compliance/contract-review/SKILL.md +1 -1
- package/skills/risk-compliance/doc-authenticity/SKILL.md +1 -1
- package/skills/risk-compliance/fraud-detection/SKILL.md +1 -1
- package/skills/risk-compliance/payment-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/portfolio-payment-analysis/SKILL.md +1 -1
- package/skills/risk-compliance/similar-domain/SKILL.md +1 -1
- package/skills/risk-compliance/tld-detection/SKILL.md +1 -1
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# What initialization includes
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Standalone `/engineering` first asks for Global, Project, or Session scope. Only a
|
|
4
|
+
Project selection, `/engineering init`, or an explicit project save uses the project
|
|
5
|
+
initializer described here. Global saving follows `SKILL.md`'s separate procedure;
|
|
6
|
+
Session keeps the rules in conversation context without writing files.
|
|
7
|
+
On later standalone calls, configured scopes offer a targeted reset with
|
|
8
|
+
[owned-guidance cleanup](scope-management.md#reset-and-clean-up); setup does not
|
|
9
|
+
grant permission to remove pre-existing rules.
|
|
10
|
+
|
|
11
|
+
Project initialization creates durable guidance, not an orchestration or infrastructure setup.
|
|
4
12
|
This review covers every active first-party skill in the Engineering package and
|
|
5
13
|
the related delivery, CI, and merge-queue convention owners. Archived skills are
|
|
6
14
|
not initialization sources; pinned external skills keep their upstream ownership.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Scope management
|
|
2
|
+
|
|
3
|
+
This procedure governs standalone setup and reset. It does not authorize cleanup
|
|
4
|
+
while the skill is loaded for implementation, review, or tracker routing.
|
|
5
|
+
|
|
6
|
+
## Detect configuration
|
|
7
|
+
|
|
8
|
+
- Global uses only the current agent's supported user-level instruction file.
|
|
9
|
+
Project uses the selected Git root, or current directory without Git, and its
|
|
10
|
+
`AGENTS.md` and `CONTRIBUTING.md`. Apply the save procedure's target validation
|
|
11
|
+
before setup or reset. Do not scan unrelated projects or agent installations.
|
|
12
|
+
- A valid ownership record, equivalent existing engineering rules, or an explicit
|
|
13
|
+
active session choice means the corresponding scope is configured. Distinguish
|
|
14
|
+
fully configured, partially configured, and existing rules not owned by this skill.
|
|
15
|
+
Rules inherited from another scope do not mean this scope is configured.
|
|
16
|
+
- Inspect files afresh on every standalone call. Keep the session choice in context
|
|
17
|
+
across reload or compaction; a new session starts without that temporary choice.
|
|
18
|
+
A reset session choice remains off until the user explicitly enables it again.
|
|
19
|
+
- Report unknown, unreadable, invalid, and conflicting guidance honestly. Offer to
|
|
20
|
+
resolve that scope rather than presenting a save or reset as safe. An unknown
|
|
21
|
+
global path does not prevent a known project or session action.
|
|
22
|
+
|
|
23
|
+
## Record ownership
|
|
24
|
+
|
|
25
|
+
After an authorized Global or Project save, keep a small JSON ownership record in
|
|
26
|
+
an HTML comment in each changed guidance file:
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
<!-- engineering:ownership
|
|
30
|
+
{"version":1,"scope":"project","createdFile":false,"additions":[]}
|
|
31
|
+
-->
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Populate `additions` from the actual before/after diff, never from the presence of
|
|
35
|
+
a familiar heading. Each entry has `namespace` (`conventions` or `engineering`),
|
|
36
|
+
`id`, and `sha256` fields. These identify the `<!-- <namespace>:<id>:start -->`
|
|
37
|
+
and matching `end` marker, and the SHA-256 of the bytes between them. Store marker
|
|
38
|
+
identifiers, not literal comment strings, so the initializer does not count the
|
|
39
|
+
receipt as duplicate markers. Include any new wrapper heading inside its recorded
|
|
40
|
+
block. Record only newly inserted text. Use the
|
|
41
|
+
existing `conventions:<id>:start/end` markers for new project sections. Wrap any
|
|
42
|
+
new global defaults or new loading pointer in unique `engineering:<id>:start/end`
|
|
43
|
+
comments before recording their hashes. Do not rewrap existing text or claim it as
|
|
44
|
+
owned. Keep existing valid records and add only new entries; deduplicate entries.
|
|
45
|
+
|
|
46
|
+
Set `createdFile` only when this save created that file. Preserve unrelated bytes
|
|
47
|
+
and existing links. Do not create a sidecar, global settings entry, or project file
|
|
48
|
+
for a session choice. A repeated save with no additions leaves files unchanged.
|
|
49
|
+
If a record is malformed or ownership is uncertain, preserve the affected text and
|
|
50
|
+
report the problem instead of inventing a receipt or claiming complete setup.
|
|
51
|
+
|
|
52
|
+
## Reset and clean up
|
|
53
|
+
|
|
54
|
+
A selected reset or an explicit scoped reset request authorizes removal of that
|
|
55
|
+
scope's saved defaults, not a reinstall, refresh, or reset of every scope.
|
|
56
|
+
|
|
57
|
+
1. Re-read and validate every target in the selected scope before editing. Explain
|
|
58
|
+
the planned removals and any preserved user rules. A read-only reset preview
|
|
59
|
+
stays read-only. Cancellation performs no cleanup.
|
|
60
|
+
2. **Session:** Clear only the explicit temporary engineering choice. Do not edit
|
|
61
|
+
files or agent settings. Continue to honor inherited global and project rules
|
|
62
|
+
and binding requirements; session reset does not switch those off.
|
|
63
|
+
3. **Global or Project:** Remove recorded additions only when their markers are
|
|
64
|
+
unique and balanced and their current content matches the recorded hash. Remove
|
|
65
|
+
their ownership entries as well. Retain edited blocks and their records, explain
|
|
66
|
+
the difference, and ask before removing user changes. Never delete an entire
|
|
67
|
+
section just because its heading matches a template.
|
|
68
|
+
4. For older or unrecorded guidance, including legacy tracker blocks, ownership
|
|
69
|
+
cannot be inferred from markers alone. Identify the exact candidate text and
|
|
70
|
+
ask for agreement before deleting it. Do not adopt or erase rules written by
|
|
71
|
+
another skill. Safe, independently owned removals may proceed while an uncertain
|
|
72
|
+
removal remains unresolved; report the reset as partial.
|
|
73
|
+
5. Remove owned loading pointers only if they are unchanged and no longer needed
|
|
74
|
+
by retained guidance. Keep a pointer that still loads user policy. Remove an
|
|
75
|
+
empty ownership record and any empty wrapper heading added by this save.
|
|
76
|
+
Delete a file only if `createdFile` proves this skill created it and nothing
|
|
77
|
+
except the original generated title and whitespace remains. Preserve pre-existing
|
|
78
|
+
files, symlinks, hand edits, and unrelated sections; never delete an instruction
|
|
79
|
+
directory or skill installation. Do not touch `CLAUDE.md` during project reset,
|
|
80
|
+
because project init does not own it.
|
|
81
|
+
6. Report what was removed, retained, or blocked and which scopes still apply.
|
|
82
|
+
Resetting Project does not remove Global defaults, and resetting Global does
|
|
83
|
+
not erase project policy. Repeating a completed reset makes no file changes.
|
|
84
|
+
Reset does not disable ordinary read-only use of engineering defaults when a
|
|
85
|
+
later implementation or routing task loads this skill.
|
|
@@ -3,7 +3,7 @@ name: engineering-runtime
|
|
|
3
3
|
description: Internal support package for shared Engineering Workflow executable behavior. Never select or invoke this package as a user capability.
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
user-invocable: false
|
|
6
|
-
release-version: 0.45.
|
|
6
|
+
release-version: 0.45.2
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Engineering Runtime
|
|
@@ -369,7 +369,7 @@
|
|
|
369
369
|
"repository": "1aboveio/ai",
|
|
370
370
|
"revision": "main"
|
|
371
371
|
},
|
|
372
|
-
"contentDigest": "
|
|
372
|
+
"contentDigest": "5a7d8e43506d55cf9ea6e4a7c3bc44caf32f384f61b2ac83048760f522ec74c8",
|
|
373
373
|
"digestExcludes": []
|
|
374
374
|
},
|
|
375
375
|
{
|
|
@@ -382,7 +382,7 @@
|
|
|
382
382
|
"repository": "1aboveio/ai",
|
|
383
383
|
"revision": "main"
|
|
384
384
|
},
|
|
385
|
-
"contentDigest": "
|
|
385
|
+
"contentDigest": "d60f3b5770b305d86d703aecf9a08f4ed9b1ea428e881c34212529ef8d12d1f4",
|
|
386
386
|
"digestExcludes": []
|
|
387
387
|
},
|
|
388
388
|
{
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
"repository": "1aboveio/ai",
|
|
396
396
|
"revision": "main"
|
|
397
397
|
},
|
|
398
|
-
"contentDigest": "
|
|
398
|
+
"contentDigest": "a97b8b8e123e4da19f49614540de3dd607f0711eb8b406516ca023d695a3dcfe",
|
|
399
399
|
"digestExcludes": []
|
|
400
400
|
},
|
|
401
401
|
{
|
|
@@ -408,7 +408,7 @@
|
|
|
408
408
|
"repository": "1aboveio/ai",
|
|
409
409
|
"revision": "main"
|
|
410
410
|
},
|
|
411
|
-
"contentDigest": "
|
|
411
|
+
"contentDigest": "a0ac298524bc181d5310ee8f05eb0171a8ab801f68ca18ea55b90b9a8cf54b57",
|
|
412
412
|
"digestExcludes": []
|
|
413
413
|
},
|
|
414
414
|
{
|
|
@@ -421,7 +421,7 @@
|
|
|
421
421
|
"repository": "1aboveio/ai",
|
|
422
422
|
"revision": "main"
|
|
423
423
|
},
|
|
424
|
-
"contentDigest": "
|
|
424
|
+
"contentDigest": "3d5b22f5e45edbcca8b88a6802231a830f90b083de6d3fbdc0ceb823ae5971a5",
|
|
425
425
|
"digestExcludes": []
|
|
426
426
|
},
|
|
427
427
|
{
|
|
@@ -434,7 +434,7 @@
|
|
|
434
434
|
"repository": "1aboveio/ai",
|
|
435
435
|
"revision": "main"
|
|
436
436
|
},
|
|
437
|
-
"contentDigest": "
|
|
437
|
+
"contentDigest": "e66777d1d522e495078dfdcb506ae815810bf0c8aa648349da4a3bb12566cfdd",
|
|
438
438
|
"digestExcludes": []
|
|
439
439
|
},
|
|
440
440
|
{
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
"repository": "1aboveio/ai",
|
|
448
448
|
"revision": "main"
|
|
449
449
|
},
|
|
450
|
-
"contentDigest": "
|
|
450
|
+
"contentDigest": "01d95a93132107140a55a13fceafb0d3993c742e80dd7f367018306d71690b36",
|
|
451
451
|
"digestExcludes": []
|
|
452
452
|
},
|
|
453
453
|
{
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
"repository": "1aboveio/ai",
|
|
461
461
|
"revision": "main"
|
|
462
462
|
},
|
|
463
|
-
"contentDigest": "
|
|
463
|
+
"contentDigest": "75aebb12f6d3461fe1892bce7b535ec8dcf94b3943aa8c488cf46255654f5e57",
|
|
464
464
|
"digestExcludes": []
|
|
465
465
|
},
|
|
466
466
|
{
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"repository": "1aboveio/ai",
|
|
474
474
|
"revision": "main"
|
|
475
475
|
},
|
|
476
|
-
"contentDigest": "
|
|
476
|
+
"contentDigest": "c5f4d18c646ece47620c9d778860c96f2f3764caa1ecaff0ef821835b7421aa0",
|
|
477
477
|
"digestExcludes": []
|
|
478
478
|
},
|
|
479
479
|
{
|
|
@@ -486,7 +486,7 @@
|
|
|
486
486
|
"repository": "1aboveio/ai",
|
|
487
487
|
"revision": "main"
|
|
488
488
|
},
|
|
489
|
-
"contentDigest": "
|
|
489
|
+
"contentDigest": "491cfe94839fa027fed6c79631a8dc581f65ef1e1b222a61f76e15863e540e5b",
|
|
490
490
|
"digestExcludes": []
|
|
491
491
|
},
|
|
492
492
|
{
|
|
@@ -499,7 +499,7 @@
|
|
|
499
499
|
"repository": "1aboveio/ai",
|
|
500
500
|
"revision": "main"
|
|
501
501
|
},
|
|
502
|
-
"contentDigest": "
|
|
502
|
+
"contentDigest": "ec5d51ec669aa5ed0693d54ef70efd97a19dd9817accfdb2ca7afe1a711547e7",
|
|
503
503
|
"digestExcludes": []
|
|
504
504
|
},
|
|
505
505
|
{
|
|
@@ -512,13 +512,13 @@
|
|
|
512
512
|
"repository": "1aboveio/ai",
|
|
513
513
|
"revision": "main"
|
|
514
514
|
},
|
|
515
|
-
"contentDigest": "
|
|
515
|
+
"contentDigest": "de617480630819345cb53fea3fbd5ca2e9d4d360680a9feace942c518806f59b",
|
|
516
516
|
"digestExcludes": [
|
|
517
517
|
"coherence/workflow.json"
|
|
518
518
|
]
|
|
519
519
|
}
|
|
520
520
|
],
|
|
521
|
-
"releaseIdentity": "
|
|
521
|
+
"releaseIdentity": "4eabbf3d0e0d3af4e9436e1a4e4c07ef153a7cc07d74d42ab94c15717146dfa3",
|
|
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.
|
|
5
|
+
release-version: 0.45.2
|
|
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.
|
|
6
|
+
release-version: 0.45.2
|
|
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.
|
|
6
|
+
release-version: 0.45.2
|
|
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.
|
|
11
|
+
release-version: 0.45.2
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
-
-
|
|
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.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
-
|
|
119
|
-
|
|
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.
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
## Principles
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
[
|
|
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:
|
|
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
|
|
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
|
-
|
|
4
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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.
|
|
7
|
+
release-version: 0.45.2
|
|
8
8
|
---
|
|
9
9
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
10
10
|
# 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.
|
|
4
|
+
release-version: 0.45.2
|
|
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.
|
|
5
|
+
release-version: 0.45.2
|
|
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.
|
|
4
|
+
release-version: 0.45.2
|
|
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.
|
|
4
|
+
release-version: 0.45.2
|
|
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.
|
|
6
|
+
release-version: 0.45.2
|
|
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.
|
|
15
|
+
release-version: 0.45.2
|
|
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.
|
|
17
|
+
release-version: 0.45.2
|
|
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.
|
|
8
|
+
release-version: 0.45.2
|
|
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.
|
|
11
|
+
release-version: 0.45.2
|
|
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.
|
|
9
|
+
release-version: 0.45.2
|
|
10
10
|
---
|
|
11
11
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
12
12
|
# TLD detection
|