@1aboveio/skills 1.0.16 → 1.0.17
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 +143 -143
- package/package.json +4 -4
- package/skills/app-dev/airflow/SKILL.md +1 -1
- package/skills/app-dev/android-development/SKILL.md +9 -7
- package/skills/app-dev/android-development/references/feature-work.md +3 -2
- package/skills/app-dev/android-development/references/gotchas.md +13 -0
- package/skills/app-dev/android-development/references/setup.md +8 -5
- package/skills/app-dev/android-development/references/ui-journeys.md +83 -11
- 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 +1 -1
- 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/harness-runtime/agent-catalog.mjs +2 -1
- package/skills/engineering/resolve-issues/SKILL.md +11 -9
- package/skills/engineering/resolve-issues/references/exploration.md +60 -18
- package/skills/engineering/resolve-issues/references/implementation.md +1 -1
- package/skills/engineering/resolve-issues/references/preflight.md +47 -22
- package/skills/engineering/resolve-issues/references/review.md +2 -1
- package/skills/engineering/resolve-issues/references/shared-modules.md +58 -4
- package/skills/engineering/resolve-issues/references/task-plan.md +30 -10
- package/skills/engineering/resolve-issues/scripts/findings-reuse.mjs +1 -1
- package/skills/engineering/resolve-issues/scripts/next-actions.mjs +7 -7
- package/skills/engineering/resolve-issues/scripts/plan-sync.mjs +1 -1
- package/skills/engineering/resolve-issues/scripts/size-check.mjs +6 -5
- 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,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: editorial-review
|
|
3
3
|
description: "Review a document or generated report for what it says (does the reader get the answer, is the argument sound, is anything unsupported, obvious or repeated), then fix the content. Use to review, tighten or clarify a doc or report, and as the review step of write-doc, write-report and domain report skills. NOT for Chinese wording (polish-cn) or code review (better-review)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Editorial review
|
|
@@ -3,7 +3,7 @@ name: house-style
|
|
|
3
3
|
description: "Shared reference the writing skills read by path: WRITING.md lookup and precedence, template choice, gap markers, template shape, the bundled templates, and the default English and Chinese style guides. Never select or invoke it as a task."
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
user-invocable: false
|
|
6
|
-
release-version: 0.48.
|
|
6
|
+
release-version: 0.48.1
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# House style
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plain-language
|
|
3
3
|
description: "Session mode: every reply and status line in plain language — lead with the point, everyday words, full sentences, no filler — in English or Chinese, until turned off. Enable by default when the project has an applicable WRITING.md, even without a slash command. Use for /plain-language, 'talk plainly', '说人话', and explicit requests to remember project reply preferences; /plain-language init persists the default and loading instructions. Save reply rules only under Agent replies; route document preferences to distill-writing. Ordinary mode toggles remain session-only. Turn off with '/plain-language off' or 'normal mode'. NOT for writing a document (write-doc) or analytical report (write-report) or reviewing one (editorial-review)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Plain language
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: polish-cn
|
|
3
3
|
description: "Polish the Chinese wording of a finished document or report, with a script proving every number, date, identifier, link and protected term is unchanged; prefers a Chinese model and records which ran. Use for '中文润色' or as a report skill's last step. NOT for cutting or restructuring content (editorial-review) or translating (write-doc or write-report)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Polish Chinese
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: reg-parser
|
|
3
3
|
version: 1.1.0
|
|
4
4
|
description: "Parse regulatory/scheme documents into structured outputs: convert a regulation (AML, VARS, PCI-DSS, KYC, GDPR) into an audit-ready compliance checklist, or trace contract clauses to a mandate source. Suggest proactively when a regulation PDF accompanies a contract review or compliance task. NOT general summarization (doc-to-md), writing a gap-analysis report (write-report), or writing a policy from the checklist (write-doc)."
|
|
5
|
-
release-version: 0.48.
|
|
5
|
+
release-version: 0.48.1
|
|
6
6
|
---
|
|
7
7
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
8
8
|
# reg-parser
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: terminology
|
|
3
3
|
description: "Build and keep a project's TERMINOLOGY.md: the preferred term per concept in English, 简体 and 繁體, and the terms to avoid. Use to set it up from the project's documents, when the user settles or corrects a term, or when another writing skill needs the format. NOT for writing documents (write-doc) or analytical reports (write-report) or the code domain model (domain-modeling)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Terminology
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write-doc
|
|
3
3
|
description: "Write or edit documents that define or propose something: BRD, PRD, technical spec, integration guide, proposal, policy or risk procedure; English, Chinese or bilingual. Use automatically for drafting or revising these documents. Markdown by default; export when requested. NOT for analytical reports or writing up findings (write-report), ordinary chat replies (plain-language), learning style or saving preferences alone (distill-writing), performing an audit (compliance-audit), or WeChat articles (wechat-article-writer)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Write a document
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: write-report
|
|
3
3
|
description: "Write or edit analytical reports from data, research, analysis or findings: payment, fraud, operational, performance, research, gap-analysis, audit, external assessment, management and Visa VARS reports. Use whenever asked to report results, write up findings, or turn analysis into a report, even without naming this skill. English, Chinese or bilingual; Markdown by default, export when requested. NOT for defining requirements, policies or proposals (write-doc), performing the underlying domain analysis or audit, chat-only answers (plain-language), or learning house style (distill-writing)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Write an analytical report
|
|
@@ -4,7 +4,7 @@ description: "Slash/explicit-only (/better-review). Single-agent adversarial rev
|
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
dependencies:
|
|
6
6
|
- engineering-runtime
|
|
7
|
-
release-version: 0.48.
|
|
7
|
+
release-version: 0.48.1
|
|
8
8
|
---
|
|
9
9
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
10
10
|
# Better Review
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: e2e-test
|
|
3
3
|
description: "Playwright end-to-end guidance for affected browser journeys, render health and presentation checks, with route manifests and sweeps for broader audits. Use when browser routes or user flows ship or change, or a Playwright test flakes. NOT for non-browser tests, defining what to test (ensure-coverage), the curated ALIVE/DEAD golden-path gate (golden-path), or CI workflow YAML (github-actions)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# E2E Testing Standard
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: engineering
|
|
3
3
|
description: "Engineering conventions: feature-delivery priorities, focused verification and review, operational boundaries, and tracker routing. Standalone /engineering offers Global, Project, or Session setup and targeted resets for configured scopes; /engineering init keeps explicit project setup. Use when setting up AGENTS.md or CONTRIBUTING.md, saving or resetting engineering defaults, or before creating an engineering issue, spec, epic, ticket, or sub-issue on GitHub or Linear. Reads existing policy without writing during ordinary work. NOT the issue-to-PR workflow (resolve-issues), release execution (resolve-release), Git delivery (github-flow), or CI setup (github-actions)."
|
|
4
|
-
release-version: 0.48.
|
|
4
|
+
release-version: 0.48.1
|
|
5
5
|
---
|
|
6
6
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
7
7
|
# Engineering
|
|
@@ -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.48.
|
|
6
|
+
release-version: 0.48.1
|
|
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": "0ee641d7c1c90df5d1ca4d4f516f3aec0236ae224f2cfdf5e69a8d0023d0224f",
|
|
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": "b0c6b061b9d99a3fdf61ee41a3380986f8b0e6f687fc14158071ba5cfc4ad231",
|
|
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": "00afe10ecfc7fb382a3c9ddf7cfb1264eeeb003e935c3fd8eee09af7f0e6dc4c",
|
|
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": "807efefc218519809541349ebc10358d37c5688d5d657fe2a58dc85e2a9aa055",
|
|
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": "efb97f0e66dec6c2d6894a1feb128892f6974d9aa71c83a29acabf22852f2228",
|
|
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": "a54c0d8d50bd9de11b98118072a87f1fefb1930e4936eae4ad1c8d369125e80b",
|
|
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": "2700f926acbfc82dec992a81f42373f5ac03d8e6cdfd9288e447e72e4215ca11",
|
|
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": "a00c2848f686ee2d4775661f87c2569b4810480233f4a0649ca995f0bebdb2a8",
|
|
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": "27b87c7ac54bfc217ffe5c68fae0a9d9b1dd8619286c470ca721200bb6962bd8",
|
|
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": "a67d55dda1c9278b16d192efe28d2827d2a1010b7c14bde8bf3ac10ce78adf13",
|
|
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": "15626fe123fbf537b89af3cb34349430fc1c76c4ad04e8853f6e761c7f45db30",
|
|
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": "1bdafd5f8149b4020319869ae83c17734cec9c2c52f7dc28d5c672985ca73111",
|
|
516
516
|
"digestExcludes": [
|
|
517
517
|
"coherence/workflow.json"
|
|
518
518
|
]
|
|
519
519
|
}
|
|
520
520
|
],
|
|
521
|
-
"releaseIdentity": "
|
|
521
|
+
"releaseIdentity": "446559a9feac423ab3c67e5b391ea300aeb1e5a80ec94a66a69062025e47a87a",
|
|
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.48.
|
|
5
|
+
release-version: 0.48.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.48.
|
|
6
|
+
release-version: 0.48.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.48.
|
|
6
|
+
release-version: 0.48.1
|
|
7
7
|
---
|
|
8
8
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
9
9
|
# Harness Runtime
|
|
@@ -620,7 +620,8 @@ export function buildCatalogRequest({
|
|
|
620
620
|
if (normalizedAvailable.available.length === 0) {
|
|
621
621
|
return blocked(
|
|
622
622
|
AGENT_CATALOG_BLOCK_CODES.CAPABILITIES_MISSING,
|
|
623
|
-
'no current-turn models were supplied
|
|
623
|
+
'no current-turn models were supplied: the resolver input has no available[] entries; '
|
|
624
|
+
+ 'collect verified host model and effort evidence before retrying; this does not establish that the harness lacks worker support',
|
|
624
625
|
)
|
|
625
626
|
}
|
|
626
627
|
if (foregroundModel !== null && foregroundModel !== undefined && !nonEmptyString(foregroundModel)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: resolve-issues
|
|
3
|
-
description: "Slash/explicit-only (/resolve-issues). Drive an issue, epic, or feature spec to reviewed, green PRs, one per issue, merged or handed back merge-ready: preflight
|
|
3
|
+
description: "Slash/explicit-only (/resolve-issues). Drive an issue, epic, or feature spec to reviewed, green PRs, one per issue, merged or handed back merge-ready: preflight assessment with an explorer only for planning unknowns, a per-issue slice check, isolated implementers within live host capacity, then per issue its PR, independent better-review, CI, and queue/merge (or merge-ready hand-back) as soon as it is done. Asks once, at the end of preflight (target branch, merge mode, scheduler mode, plan) and resolves the worker roles' models as run metadata instead of asking, then never blocks on the human; small non-blocking problems collect in a dropbox, posted at the end as grouped ready-for-agent issues. /rush-issues is its no-questions shortcut. Do not auto-select. Use for whole-spec delivery, including high-risk work; risk changes model and validation depth, never the workflow. NOT for release work (resolve-release)."
|
|
4
4
|
disable-model-invocation: true
|
|
5
5
|
metadata:
|
|
6
6
|
workflow-role: coordinator
|
|
@@ -8,7 +8,7 @@ dependencies:
|
|
|
8
8
|
- better-review
|
|
9
9
|
- golden-path
|
|
10
10
|
- harness-runtime
|
|
11
|
-
release-version: 0.48.
|
|
11
|
+
release-version: 0.48.1
|
|
12
12
|
---
|
|
13
13
|
**Updates:** Once/session run `node <skill-base-dir>/release-check.mjs`.
|
|
14
14
|
# Resolve issues
|
|
@@ -54,7 +54,7 @@ after 2 fix rounds without a new low of open P0/P1 path rows; no fixed round cap
|
|
|
54
54
|
|
|
55
55
|
```text
|
|
56
56
|
preflight: ready label -> model fills -> plan draft
|
|
57
|
-
->
|
|
57
|
+
-> preflight assessment (optional explorer) -> size check (only scope or an open question holds a unit, with a split)
|
|
58
58
|
-> one approval (target branch, merge mode, scheduler mode, plan)
|
|
59
59
|
-> schedule runnable units within live host capacity:
|
|
60
60
|
prepare a unit's workspace when its first worker is admitted (never all units up front)
|
|
@@ -77,9 +77,9 @@ Read each procedure right before its stage; never substitute your own.
|
|
|
77
77
|
|
|
78
78
|
| Stage | Procedure |
|
|
79
79
|
|---|---|
|
|
80
|
-
| Preflight: ready label, models, plan draft,
|
|
80
|
+
| Preflight: ready label, models, plan draft, assessment, size check, approval; what any filed text may say | [references/preflight.md](references/preflight.md) ([Filed text](references/preflight.md#filed-text)) |
|
|
81
81
|
| Task plan shape and live board | [references/task-plan.md](references/task-plan.md) |
|
|
82
|
-
|
|
|
82
|
+
| Preflight assessment and optional exploration (step 4) | [references/exploration.md](references/exploration.md) |
|
|
83
83
|
| Implementation loop and opening each PR | [references/implementation.md](references/implementation.md) |
|
|
84
84
|
| Read-only warehouse canary | [references/canary.md](references/canary.md) |
|
|
85
85
|
| Owned workspaces: plan, prepare, cleanup, recover, inventory | [references/workspaces.md](references/workspaces.md) |
|
|
@@ -105,7 +105,8 @@ Read each procedure right before its stage; never substitute your own.
|
|
|
105
105
|
check. When a journey or case you run fails, copy its `NATIVE_FAILURE` line (or the failing step, error and
|
|
106
106
|
evidence path) into the unit's plan row; an exit code alone is not a failure record.
|
|
107
107
|
Leave code changes to workers so your attention stays on scheduling, and record each worker as the
|
|
108
|
-
unit's `workerKind` (`implement`, `fix`, `review`).
|
|
108
|
+
unit's `workerKind` (`implement`, `fix`, `review`). You own preflight findings;
|
|
109
|
+
delegate unresolved planning unknowns under [exploration.md](references/exploration.md#choose-the-owner). After a context compaction, read this file in
|
|
109
110
|
full again before your next step: the summary keeps the run's state, not these rules. Fill
|
|
110
111
|
free slots before starting your own work, stay within [expire.md](references/expire.md)'s limit, and send
|
|
111
112
|
large output to files (read only the lines you need). Expect Pi's **Completions while busy: Steer active run**
|
|
@@ -149,12 +150,13 @@ Follow [preflight.md](references/preflight.md):
|
|
|
149
150
|
efforts are run metadata, never a question.
|
|
150
151
|
2. **Provisional target:** the default branch.
|
|
151
152
|
3. **Plan draft:** one unit per issue, links, delivery mode; show the board.
|
|
152
|
-
4. **
|
|
153
|
-
separately, its `proof`,
|
|
153
|
+
4. **Preflight assessment:** record each unit's `slice` and,
|
|
154
|
+
separately, its `proof`, yourself for clear work; use an explorer only
|
|
155
|
+
for concrete planning unknowns. Reuse prior findings for units
|
|
154
156
|
whose evidence did not change
|
|
155
157
|
([exploration.md](references/exploration.md#reuse-first)).
|
|
156
158
|
5. **Size check:** run `size-check.mjs` (exit 0; read `verdict`). On `hold` or `stop`, hold the listed
|
|
157
|
-
units (their dependents wait, not started) and draft their splits (yours when none is drafted); on `exploration-unfinished`,
|
|
159
|
+
units (their dependents wait, not started) and draft their splits (yours when none is drafted); on `exploration-unfinished`, complete the findings using step 4's owner routing.
|
|
158
160
|
6. **Approval:** ask once for target, merge mode, scheduler mode, and plan;
|
|
159
161
|
record the answers; plan each unit's branch, workspace, base, and lifecycle
|
|
160
162
|
intent, and prepare a workspace only when its first worker is admitted
|
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
# Exploration
|
|
2
2
|
|
|
3
|
-
**
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
**Every run gets a coordinator-owned preflight assessment after the plan draft:**
|
|
4
|
+
behaviors, missing prerequisites, proof, line estimates, dependencies, contracts,
|
|
5
|
+
and the questions that hold a unit. A dedicated explorer is optional.
|
|
6
6
|
In a one-unit run, leave `contracts`, `dependsOn`, and `stacksOn` empty.
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Choose the owner
|
|
9
|
+
|
|
10
|
+
Read the issues, applicable repository guidance, and the few code or test paths
|
|
11
|
+
needed to check the plan. For clear, bounded work, write the findings yourself.
|
|
12
|
+
The findings are planning state, not product code; keep detailed code discovery
|
|
13
|
+
with implementers.
|
|
14
|
+
|
|
15
|
+
Delegate when a concrete unknown could change the plan: uncertain cross-unit
|
|
16
|
+
dependencies or contracts, unclear boundaries or likely splitting, or an unfamiliar
|
|
17
|
+
validation setup. Name the unknown and the affected units in the explorer's brief.
|
|
18
|
+
Multiple units or a high-risk label alone do not require an explorer; unresolved
|
|
19
|
+
planning uncertainty does. An unanswered product decision stays an open question,
|
|
20
|
+
not an invitation for the explorer to invent a requirement.
|
|
21
|
+
|
|
22
|
+
Use the same record and size check for both paths. Resolve each unit's planning
|
|
23
|
+
unknowns or record its open human decision before approval. On later scope or base
|
|
24
|
+
changes, apply this routing again only to affected units.
|
|
25
|
+
|
|
26
|
+
Resolve the assessment target to an exact commit before reading code: initially
|
|
27
|
+
the provisional target, then the approved target after a branch change. Record
|
|
28
|
+
that SHA as findings `base`; use it explicitly for reuse checks and any explorer
|
|
29
|
+
checkout. The coordinator's current branch is not evidence of the assessment target.
|
|
30
|
+
|
|
31
|
+
## Optional explorer
|
|
32
|
+
|
|
33
|
+
Use at most one explorer at a time per run, on the fleet `explore` row, within
|
|
34
|
+
live host capacity. Reuse that explorer for further investigation when available.
|
|
35
|
+
Give it only the affected units and unknowns. While it writes findings, it owns
|
|
36
|
+
that file exclusively; collect its result before the coordinator updates it.
|
|
9
37
|
|
|
10
38
|
| Field | Value |
|
|
11
39
|
|---|---|
|
|
12
40
|
| Model | The explorer fill ([preflight.md](preflight.md#1-model-slots)) |
|
|
13
|
-
| Workspace | Read-only checkout
|
|
41
|
+
| Workspace | Read-only checkout at the assessment target SHA; write only the findings directory |
|
|
14
42
|
| Task plan | Absolute `task-plan.json` path; its unit ids key the findings |
|
|
15
43
|
| Prior findings | Newest `.resolve-issues/rush/*/exploration/findings.json` for the same spec locator, if any |
|
|
16
44
|
| Deadline | 15 minutes, plus 1 minute per unit beyond 4 |
|
|
@@ -18,15 +46,23 @@ In a one-unit run, leave `contracts`, `dependsOn`, and `stacksOn` empty.
|
|
|
18
46
|
|
|
19
47
|
## Reuse first
|
|
20
48
|
|
|
21
|
-
**
|
|
22
|
-
|
|
49
|
+
**Reuse requires unchanged requirements as well as unchanged code evidence.**
|
|
50
|
+
First compare each unit's current criteria, dependency contracts, relevant guidance,
|
|
51
|
+
and recorded decisions with the prior assessment. Reassess affected units even if
|
|
52
|
+
the helper below says `reuse`; it checks Git evidence paths, not those inputs.
|
|
53
|
+
When the prior inputs cannot be established, reassess that unit.
|
|
54
|
+
|
|
55
|
+
Run the code-evidence check against the exact assessment target, not the caller's
|
|
56
|
+
`HEAD`; include the output and any forced reassessments in an explorer brief:
|
|
23
57
|
|
|
24
58
|
```bash
|
|
25
59
|
node <skill-base-dir>/scripts/findings-reuse.mjs \
|
|
26
|
-
--prior <prior findings.json> --units <this run's unit ids, comma-separated>
|
|
60
|
+
--prior <prior findings.json> --units <this run's unit ids, comma-separated> \
|
|
61
|
+
--head <assessment-target-SHA>
|
|
27
62
|
```
|
|
28
63
|
|
|
29
|
-
- `reuse`: copy the entry unchanged
|
|
64
|
+
- `reuse`: copy the entry unchanged only when the non-code inputs above also
|
|
65
|
+
match, with the new `base`.
|
|
30
66
|
- `recheck`: re-explore the entry; its `changed` files are where to look.
|
|
31
67
|
- `new`: explore from scratch.
|
|
32
68
|
|
|
@@ -34,7 +70,9 @@ Example: a resumed run starts after earlier units merged `src/charge/`; only
|
|
|
34
70
|
the two units whose evidence names `src/charge/` are re-explored, the other
|
|
35
71
|
four are copied.
|
|
36
72
|
|
|
37
|
-
##
|
|
73
|
+
## Assessment record
|
|
74
|
+
|
|
75
|
+
The coordinator and any delegated explorer use these rules:
|
|
38
76
|
|
|
39
77
|
1. **Scaffold, then save one unit at a time.** Keep an existing
|
|
40
78
|
`findings.json`; otherwise create it with `version: 2`, the `base` SHA,
|
|
@@ -106,7 +144,7 @@ four are copied.
|
|
|
106
144
|
journey; `local` runs that Charge journey script on an owned emulator,
|
|
107
145
|
not the repository's default phone journey.
|
|
108
146
|
- Findings saved before `local` and `skill` existed are unfinished:
|
|
109
|
-
|
|
147
|
+
add them before the size check, even when reusing the rest.
|
|
110
148
|
- `physical`: evidence only a real device gives; else empty.
|
|
111
149
|
|
|
112
150
|
- `groups` and `setups` (only when `slice.newProductBehaviorCount` is
|
|
@@ -193,10 +231,14 @@ it then.
|
|
|
193
231
|
|
|
194
232
|
## Completion
|
|
195
233
|
|
|
196
|
-
Confirm the findings exist
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
234
|
+
Confirm the findings exist and no product source changed. For delegated work,
|
|
235
|
+
also confirm the model read-back matches and inspect the result. Run the size
|
|
236
|
+
check; `exploration-unfinished` means complete or repair the findings, not spawn
|
|
237
|
+
a worker automatically. Correct a missing field yourself when the evidence is
|
|
238
|
+
clear; continue the explorer only for unresolved investigation.
|
|
239
|
+
|
|
240
|
+
At an explorer's deadline, have it save what it has and stop. Inspect its partial
|
|
241
|
+
findings, complete clear entries yourself, and continue investigation only for
|
|
242
|
+
remaining unknowns while size-check problems plus empty units reach new lows;
|
|
243
|
+
then follow [expire.md](expire.md). Finish the fleet `explore` row once the
|
|
244
|
+
assessment and size check are complete, even when no explorer was needed.
|
|
@@ -76,7 +76,7 @@ the same work. A passing setup check is not a substitute for the blocked behavio
|
|
|
76
76
|
No additional report or result schema is required.
|
|
77
77
|
|
|
78
78
|
Have the implementer treat findings as leads, find its own code, and report
|
|
79
|
-
any `product`, `scope`, `design`, or `approval` question the
|
|
79
|
+
any `product`, `scope`, `design`, or `approval` question the assessment missed and any
|
|
80
80
|
human-only proof. Report each question in the result's `decisionNeeded`
|
|
81
81
|
([expire.md](expire.md#decide-before-you-defer)); add each proof as a
|
|
82
82
|
handback step. Never edit `findings.json`.
|
|
@@ -11,10 +11,22 @@ until step 6.
|
|
|
11
11
|
node <skill-base-dir>/scripts/plan-sync.mjs --find-run --runs .resolve-issues/rush --issue <owner/name#123>
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
When it prints a directory,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
When it prints a directory, reuse that run instead of starting another. Before
|
|
15
|
+
calling the scheduler, reload its plan, decisions and standing orders. Refresh the
|
|
16
|
+
source requirements as described under [issue-tree sync](task-plan.md#issue-tree-sync)
|
|
17
|
+
and resolve the recorded target to its current exact SHA. Apply
|
|
18
|
+
[assessment reuse](exploration.md#reuse-first) against those inputs.
|
|
19
|
+
|
|
20
|
+
If assessment was interrupted, findings are incomplete, or affected requirements or
|
|
21
|
+
target evidence changed, complete step 4 and rerun step 5 for those units before
|
|
22
|
+
scheduling them. Finish any outstanding step 6 approval once; preserve choices
|
|
23
|
+
already approved. A saved size stop remains held until reassessment clears it or
|
|
24
|
+
its `runWhole` recommendation is accepted. Do not treat a scheduler action as proof
|
|
25
|
+
that assessment or approval finished.
|
|
26
|
+
|
|
27
|
+
Then resume with `next-actions.mjs --run <dir> --resume` and
|
|
28
|
+
[fresh capacity](implementation.md#live-capacity); its plan picks up whatever the
|
|
29
|
+
tree gained since. The run finder exits 0 whether or not it found a run: no run prints nothing on stdout
|
|
18
30
|
(`--json`: `{"found":false}`). Example: `/rush-issues #12` finds the run whose saved tree holds
|
|
19
31
|
#12 and resumes it, never a second run beside it.
|
|
20
32
|
|
|
@@ -28,7 +40,7 @@ The script exits 0 whenever it ran (2 if it could not); read `outcome` in its JS
|
|
|
28
40
|
|
|
29
41
|
- **`ready`:** continue. An open issue is work, whatever its sub-issues
|
|
30
42
|
say: each `rollups` entry (open, every sub-issue closed) is a unit; the
|
|
31
|
-
|
|
43
|
+
assessment records what is left, or that nothing is, and then the handback
|
|
32
44
|
says "close #N". Example: held #40's filed prerequisite #41 closed;
|
|
33
45
|
#40 is a rollup and stays a unit.
|
|
34
46
|
- **`unlabeled`:** continue as on `ready`, and record the `missing` issues for
|
|
@@ -78,9 +90,11 @@ posts them; they join this run's end-of-run review
|
|
|
78
90
|
|
|
79
91
|
## 1. Model slots
|
|
80
92
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
Follow [model slots](shared-modules.md#model-slots): on Pi, inspect the live native
|
|
94
|
+
catalog first after checking task overrides and authoritative host preferences;
|
|
95
|
+
use the portable resolver when native role resolution is unavailable or cannot
|
|
96
|
+
validate either exact request. Record the actual fills by
|
|
97
|
+
exact id and effort. The skill names the roles — implementer, explorer, diagnoser,
|
|
84
98
|
reviewer — and the harness agent catalog chooses the models, so rank nothing and
|
|
85
99
|
copy nothing from a ladder. The fills are run metadata: show each role's model
|
|
86
100
|
and effort on the board and never ask which model should implement. A model the
|
|
@@ -92,14 +106,23 @@ add the repository's deterministic domain checks and review depth, never change
|
|
|
92
106
|
the workflow or re-choose the model.
|
|
93
107
|
|
|
94
108
|
Pass a pinned implementer (`implementer=<id[@effort]>` in the invocation) as
|
|
95
|
-
`--implementer
|
|
96
|
-
and `reason`, starting nothing: `pinned-implementer-unavailable` means the
|
|
97
|
-
model is unavailable and no other implementer is substituted
|
|
98
|
-
`catalog-unavailable`
|
|
99
|
-
|
|
109
|
+
`--implementer` on the portable path. A declined result stops preflight with its
|
|
110
|
+
`code` and `reason`, starting nothing: `pinned-implementer-unavailable` means the
|
|
111
|
+
pinned model is unavailable and no other implementer is substituted;
|
|
112
|
+
`catalog-unavailable` means the portable resolver could not be invoked.
|
|
113
|
+
`capabilities-missing` means its input lacks model evidence: repair an omitted
|
|
114
|
+
field from current host evidence and retry, or report precisely what could not
|
|
115
|
+
be obtained. It does not establish a missing harness capability. Never revive
|
|
116
|
+
the old picker or reuse an earlier run's pick.
|
|
100
117
|
Example: `/rush-issues 1aboveio/ai#1545 implementer=gpt-6-luna@high` on a host
|
|
101
118
|
whose catalog does not offer `gpt-6-luna` stops at preflight and starts nothing.
|
|
102
119
|
|
|
120
|
+
**Catalog limitation:** optional exploration skips the worker, not catalog
|
|
121
|
+
resolution. Both paths still require all four fills, including
|
|
122
|
+
the explorer, even for coordinator-only assessment. Report a missing explorer as
|
|
123
|
+
a catalog block; do not extract other fills from a declined response or substitute
|
|
124
|
+
a model. Explorer-independent resolution needs a supported upstream protocol.
|
|
125
|
+
|
|
103
126
|
## 2. Provisional target
|
|
104
127
|
|
|
105
128
|
Fetch remote heads; record the default branch as `targetBranch`.
|
|
@@ -118,11 +141,13 @@ Example: epic #12's #20 (signed release and go/no-go) and #21
|
|
|
118
141
|
(physical acceptance) stay out of the plan; the run ends when its code units
|
|
119
142
|
land instead of waiting on them.
|
|
120
143
|
|
|
121
|
-
## 4.
|
|
144
|
+
## 4. Assess the plan
|
|
122
145
|
|
|
123
|
-
|
|
124
|
-
prior findings for the same spec.
|
|
125
|
-
|
|
146
|
+
Follow [exploration.md](exploration.md#choose-the-owner) on the provisional
|
|
147
|
+
target, reusing prior findings for the same spec. Write findings yourself for
|
|
148
|
+
clear work; delegate concrete planning unknowns to an optional explorer.
|
|
149
|
+
On tool failures or `exploration-unfinished`, complete the affected findings
|
|
150
|
+
using the same owner routing. Add the links the findings show.
|
|
126
151
|
|
|
127
152
|
## 5. Size check
|
|
128
153
|
|
|
@@ -154,7 +179,7 @@ by row 1 of [Never block on the human](#never-block-on-the-human).
|
|
|
154
179
|
| `ok`, `warn` | Continue |
|
|
155
180
|
| `hold` | Hold the `held` units (their dependents wait, not started); start the `runnable` units |
|
|
156
181
|
| `stop` | Run-wide failure or every unit held; draft the held units' splits |
|
|
157
|
-
| `exploration-unfinished` |
|
|
182
|
+
| `exploration-unfinished` | Complete the findings using step 4's owner routing |
|
|
158
183
|
| exit 2 | Fix the plan or command |
|
|
159
184
|
|
|
160
185
|
Only scope and open questions hold a unit; proof only warns. Add each
|
|
@@ -285,7 +310,7 @@ Example: `/resolve-issues` answered "run the rest" files nothing;
|
|
|
285
310
|
prerequisites keeps its unit, now depending on them.
|
|
286
311
|
Example: #30 splits into #50 and #51, so the sync adds both, drops 30,
|
|
287
312
|
and unit 34, `blocked_by` #30, now waits on 50 and 51.
|
|
288
|
-
4.
|
|
313
|
+
4. Assess the new units only using step 4's owner routing; rerun the size check.
|
|
289
314
|
5. Split a still-held slice again only while splitting makes progress: its
|
|
290
315
|
largest slice is smaller than the one before.
|
|
291
316
|
Example: a 7,287-line unit split into 3,455 and 2,150 lines; a held
|
|
@@ -348,16 +373,16 @@ in one interaction, with the native single-choice tool when there is one:
|
|
|
348
373
|
|
|
349
374
|
Record each answer in `decisions`, then:
|
|
350
375
|
|
|
351
|
-
- New target: fetch it,
|
|
376
|
+
- New target: fetch it, reassess affected findings using step 4's owner routing, rerun
|
|
352
377
|
the size check; ask again only if it worsens to `hold` or `stop`.
|
|
353
|
-
- Trim: drop the scope,
|
|
378
|
+
- Trim: drop the scope, remove its findings, questions and
|
|
354
379
|
handback items, rerun the size check.
|
|
355
380
|
- File the splits: follow [File a split](#file-a-split); ask again only if
|
|
356
381
|
the size check returns `stop`.
|
|
357
382
|
- Move to later: mark the units `blocked` (`blockedReason: human-decision`, `humanItem: 1`, the human's words as `humanNeed`); they stay in
|
|
358
383
|
this run's plan and resume with it (one run per spec). Never start a
|
|
359
384
|
separate follow-up run for the same spec.
|
|
360
|
-
- Answer: record it,
|
|
385
|
+
- Answer: record it, set the question
|
|
361
386
|
`resolved: true`, rerun the size check.
|
|
362
387
|
- Run the rest: mark held units `blocked` (`blockedReason: size-hold`) with the split path;
|
|
363
388
|
their dependents stay not started (`pending`).
|
|
@@ -11,7 +11,8 @@ restate its rules in the brief beyond the two below.
|
|
|
11
11
|
- Reviewer model: a different id from the implementer's
|
|
12
12
|
([preflight.md](preflight.md#1-model-slots)). Launch the reviewer with the
|
|
13
13
|
plan's recorded reviewer fill — its `launch`, `instructions`, `selection` and
|
|
14
|
-
`
|
|
14
|
+
native `catalogRevision` or portable `catalogDigest`
|
|
15
|
+
([task-plan.md](task-plan.md#worker-selection-on-resume)) — as
|
|
15
16
|
structured launch arguments, never as brief text and never a model id
|
|
16
17
|
hardcoded here. On Pi that `launch` is what the live role resolver receives,
|
|
17
18
|
`{ role }` unless an explicit task override or this host's own preference
|