From 3b5c7a9a5755cbb0f8ffad844bc44432c3d8f809 Mon Sep 17 00:00:00 2001 From: Jone Date: Fri, 4 Sep 2026 20:54:32 -0400 Subject: [PATCH 1/2] docs(index): close 8 delivered specs + ws-megabrain PR #277 (pending 12->3) --- .agents/specs/index.PRD | 43 ++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/.agents/specs/index.PRD b/.agents/specs/index.PRD index 2fe081ab..18f2e1b3 100644 --- a/.agents/specs/index.PRD +++ b/.agents/specs/index.PRD @@ -90,7 +90,7 @@ Provide agent- and IDE-neutral workflow skills, orchestrators, and utility skill - [x] Runtime audit suggestions for performance, correctness, and reusable tooling (`spec: 0028-audit-performance-correctness-and-reusable-scripts.spec.md`) - [x] `ws-fix-pr` proactive same-category discovery before resolve (`spec: 0038-fix-pr-proactive-class-sweep.spec.md`) - [x] Harness spec-run benchmark with snapshot compare (`spec: 0041-harness-spec-benchmark.spec.md`) -- [ ] Regroup packaged skill ids as `ws-{family}-{verb}` (`spec: 0037-skill-family-naming.spec.md`) +- [~] Regroup packaged skill ids as `ws-{family}-{verb}` (`spec: 0037-skill-family-naming.spec.md`) — active workflow `skill-family-naming-20260902T215014Z` steps 0–6, uncommitted plan artifacts - [x] Specify-time closure pack for score-10 spec delivery (`spec: 0040-specify-closure-pack.spec.md`) - [ ] Unique Node runtime for all workflow-skills helper scripts (`spec: 0042-unique-skill-script-runtime.spec.md`) - [x] ~~Cooperative session leases~~ **retired 0.3.38** — historical spec only (`spec: 0043-workflow-session-leases.spec.md`; use worktrees for parallel work) @@ -104,12 +104,16 @@ Provide agent- and IDE-neutral workflow skills, orchestrators, and utility skill - [x] Optional chronological spec filename prefixes and ws-spec-organizer (`spec: 0053-spec-prefix-ordering.spec.md`) - [x] ws-doctor --json stdout contract and self-describing ESM entrypoint (`spec: 0055-ws-doctor-json-esm.spec.md`) - [x] Agent-agnostic host detection, subagent fallback, and interactive gate execution (`spec: 0056-host-agent-environment-adapter.spec.md`) -- [ ] Revamped Modern Technical Website for Workflow Skills (`spec: modern-website-revamp.spec.md`) -- [ ] Installer Multi-Host Global Targets and Symlink Strategy (`spec: installer-multi-host-global-targets.spec.md`) +- [x] Revamped Modern Technical Website for Workflow Skills (`spec: modern-website-revamp.spec.md`) — PR #268 MERGED +- [x] Installer Multi-Host Global Targets and Symlink Strategy (`spec: installer-multi-host-global-targets.spec.md`) — PR #269 MERGED - [x] Active host tool capability binding with auto-gate hard bypass (`spec: 0059-host-capability-binding-v2.spec.md`) -- [ ] Download tracker images and attachments during fetch-to-spec (GitHub and Azure DevOps parity) (`spec: 0060-provider-fetch-visual-attachments.spec.md`) -- [ ] ws-spec-to-pr: orquestrador implementou sem plano/refino — autoMode não deve pular Steps 1–3 (`spec: 0062-us-275.spec.md`) -- [ ] ws-megabrain: senior product-manager router with specialist personas (`spec: 0063-ws-megabrain.spec.md`) +- [x] Download tracker images and attachments during fetch-to-spec (GitHub and Azure DevOps parity) (`spec: 0060-provider-fetch-visual-attachments.spec.md`) — PR #271 MERGED +- [x] ws-spec-to-pr: orquestrador implementou sem plano/refino — autoMode não deve pular Steps 1–3 (`spec: 0062-us-275.spec.md`) — PR #276 MERGED +- [x] ws-megabrain: senior product-manager router with specialist personas (`spec: 0063-ws-megabrain.spec.md`) — PR #277 MERGED +- [x] Parametrized min verify score (`spec: 0046-parametrized-min-verify-score.spec.md`) — `defaults.minVerifyScore` live in config + scripts +- [x] Hand off ws-spec-memo runtime ops to spec-memo ws-memo (`spec: 0048-us-243.spec.md`) — PR #244 MERGED +- [x] Remove retired ws-patterns references from hub templates/seeds (`spec: 0052-us-250.spec.md`) — PR #251 MERGED +- [x] Prune retired skill ids on update + hybrid harness fallback (`spec: 0061-us-272.spec.md`) — PR #273 MERGED @@ -175,7 +179,7 @@ Provide agent- and IDE-neutral workflow skills, orchestrators, and utility skill | 43 | `audit-performance-correctness-and-reusable-scripts` | `[x]` done | Phase 4 | Runtime audit suggestions for perf/correctness/reusable tooling | | 44 | `fix-pr-proactive-class-sweep` | `[x]` done | Phase 4 | Proactive same-defect-class sweep in cooperative fix | | 45 | `harness-spec-benchmark` | `[x]` done | Phase 4 | Upstream harness fixture benchmark + snapshot compare | -| 46 | `skill-family-naming` | `[ ]` todo | Phase 4 | Regroup skill ids as `ws-{family}-{verb}` (spec family first) | +| 46 | `skill-family-naming` | `[~]` partial | Phase 4 | Regroup skill ids as `ws-{family}-{verb}` (spec family first) — workflow active steps 0–6 | | 47 | `specify-closure-pack` | `[x]` done | Phase 4 | Specify-time closure pack for score-10 delivery | | 48 | `unique-skill-script-runtime` | `[ ]` todo | Phase 4 | Node-only runtime for all packaged helper scripts | @@ -190,14 +194,18 @@ Provide agent- and IDE-neutral workflow skills, orchestrators, and utility skill | 57 | `close-implementation-before-pr` | `[x]` done | Phase 4 | Close implementation (`status: completed`) before push/PR; `shipStatus` tracks shipping | | 58 | `ws-doctor-json-esm` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | ws-doctor --json stdout contract and self-describing ESM entrypoint | | 59 | `host-agent-environment-adapter` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Agent-agnostic host detection, subagent fallback, and interactive gate execution | -| 60 | `modern-website-revamp` | `[ ]` todo | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Revamped Modern Technical Website for Workflow Skills | -| 61 | `installer-multi-host-global-targets` | `[ ]` todo | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Installer Multi-Host Global Targets and Symlink Strategy | +| 60 | `modern-website-revamp` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Revamped Modern Technical Website for Workflow Skills (PR #268) | +| 61 | `installer-multi-host-global-targets` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Installer Multi-Host Global Targets and Symlink Strategy (PR #269) | | 62 | `host-capability-binding-v2` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Active host tool capability binding with auto-gate hard bypass | -| 63 | `provider-fetch-visual-attachments` | `[ ]` todo | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Download tracker images and attachments during fetch-to-spec (GitHub and Azure DevOps parity) | -| 64 | `us-275` | `[ ]` todo | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | ws-spec-to-pr: orquestrador implementou sem plano/refino — autoMode não deve pular Steps 1–3 | -| 65 | `ws-megabrain` | `[ ]` todo | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | ws-megabrain: senior product-manager router with specialist personas | +| 63 | `provider-fetch-visual-attachments` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Download tracker images and attachments during fetch-to-spec (GitHub and Azure DevOps parity) (PR #271) | +| 64 | `us-275` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | ws-spec-to-pr: orquestrador implementou sem plano/refino — autoMode não deve pular Steps 1–3 (PR #276) | +| 65 | `ws-megabrain` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | ws-megabrain: senior product-manager router with specialist personas (PR #277) | +| 66 | `parametrized-min-verify-score` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Parametrized min verify score (`defaults.minVerifyScore`, default 9) | +| 67 | `us-243` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Hand off ws-spec-memo runtime ops to spec-memo ws-memo (PR #244) | +| 68 | `us-250` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Remove retired ws-patterns references from hub templates/seeds (PR #251) | +| 69 | `us-272` | `[x]` done | Phase 4: Runtime diagnostics, audit, timing, and bootstrap | Prune retired skill ids on update + hybrid harness fallback (PR #273) | -Open Next-spec: `hermes-spec-to-pr-enhancements` (partial), `skill-family-naming`, `unique-skill-script-runtime`. Other new work goes to Inbox, then promote, `modern-website-revamp`, `installer-multi-host-global-targets`, `provider-fetch-visual-attachments`, `us-275`, `ws-megabrain`. +Open Next-spec: `hermes-spec-to-pr-enhancements` (partial), `skill-family-naming` (partial, active workflow). Only true todo left: `unique-skill-script-runtime`. ## 9. Inbox @@ -263,6 +271,15 @@ Open Next-spec: `hermes-spec-to-pr-enhancements` (partial), `skill-family-naming | 2026-08-28 | `spec-prefix-ordering` | Optional chronological spec filename prefixes and ws-spec-organizer | [PR #256](https://github.com/jpolvora/workflow-skills/pull/256) | | 2026-09-03 | `host-agent-environment-adapter` | Agent-agnostic host detection, subagent fallback, and interactive gate execution | [PR #266](https://github.com/jpolvora/workflow-skills/pull/266) | | 2026-09-03 | `host-capability-binding-v2` | Active host tool capability binding with auto-gate hard bypass | [PR #270](https://github.com/jpolvora/workflow-skills/pull/270) | +| 2026-09-03 | `modern-website-revamp` | Revamped Modern Technical Website for Workflow Skills | [PR #268](https://github.com/jpolvora/workflow-skills/pull/268) | +| 2026-09-03 | `installer-multi-host-global-targets` | Installer Multi-Host Global Targets and Symlink Strategy | [PR #269](https://github.com/jpolvora/workflow-skills/pull/269) | +| 2026-09-03 | `provider-fetch-visual-attachments` | Download tracker images and attachments during fetch-to-spec (GitHub + ADO parity) | [PR #271](https://github.com/jpolvora/workflow-skills/pull/271) | +| 2026-09-03 | `us-272` | Prune retired skill ids on update + hybrid harness fallback | [PR #273](https://github.com/jpolvora/workflow-skills/pull/273) | +| 2026-09-04 | `us-275` | ws-spec-to-pr autoMode must not skip planning Steps 1–3 | [PR #276](https://github.com/jpolvora/workflow-skills/pull/276) | +| 2026-08-26 | `us-243` | Hand off ws-spec-memo runtime ops to spec-memo ws-memo | [PR #244](https://github.com/jpolvora/workflow-skills/pull/244) | +| 2026-08-27 | `us-250` | Remove retired ws-patterns references from hub templates/seeds | [PR #251](https://github.com/jpolvora/workflow-skills/pull/251) | +| 2026-08-25 | `parametrized-min-verify-score` | Parametrized min verify score (`defaults.minVerifyScore`, default 9) | Implemented (config + `workflow_state.cjs` + `merge_verify_review.cjs` + `classify.cjs`) | +| 2026-09-05 | `ws-megabrain` | ws-megabrain vibe-coding skill + 3 fix-pr rounds (precedence, autoMode fallback, changelog, ref coverage) | [PR #277](https://github.com/jpolvora/workflow-skills/pull/277) | ## 11. Maintenance checklist From b11664e74f4003c97ceed93f41b1eab2962020e9 Mon Sep 17 00:00:00 2001 From: Jone Date: Fri, 4 Sep 2026 22:14:18 -0400 Subject: [PATCH 2/2] feat(hermes-spec-to-pr-enhancements): verified implementation --- .agents/skills/ws-spec-to-pr/STEP-DISPATCH.md | 2 +- bin/skill-integrity.json | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.agents/skills/ws-spec-to-pr/STEP-DISPATCH.md b/.agents/skills/ws-spec-to-pr/STEP-DISPATCH.md index 174083ad..c7e4717a 100644 --- a/.agents/skills/ws-spec-to-pr/STEP-DISPATCH.md +++ b/.agents/skills/ws-spec-to-pr/STEP-DISPATCH.md @@ -42,7 +42,7 @@ Fill 4–8 `*` bullets from that analysis. Do **not** copy a canned list from a | 1 | Complexity gate → if simple: stub plan; `node {skillsRoot}/ws-spec-to-pr/scripts/plan_index.cjs build --plan "{us-dir}/step-01-{slug}.plan.md" --spec "{us-dir}/step-00-{slug}.spec.md" --output "{us-dir}/plan.index.json"`; run Step 3 sequential stub below; `update_state finish --status skipped --reason interview-not-required` (step 2) and `--reason dag-disabled` (step 3); advance to 4. Else `dispatch-agent` `ws-plan-write`; same `plan_index.cjs build`; then `python {skillsRoot}/ws-spec-to-pr/scripts/check_memory_conflict.py {us-dir}/step-01-{slug}.plan.md --json` (exit 0 → proceed, including missing MEMORY.md consult-skipped; exit 2 → record trap titles and `force_interview`; exit 1 → HS-5 STOP for a missing plan file). | `step-01-{slug}.plan.md` + `plan.index.json` | | 2 | Conditional: skip if eligible **and** `force_interview` is not true ([`gates.md`](../ws-shared/gates.md)); `finish --status skipped --reason interview-not-required`. Else `dispatch-agent` `ws-plan-interview`; 2c End auto-confirms 2e. After refined plan: rebuild `plan_index.cjs build --plan "{us-dir}/step-02-{slug}.plan.refined.md" --spec "{us-dir}/step-00-{slug}.spec.md" --output "{us-dir}/plan.index.json" --draft "{us-dir}/step-01-{slug}.plan.md"`. | `step-02-{slug}.plan.refined.md` (or skip) | | 3 | When `defaults.enableDag` is `false` (default): do **not** `dispatch-agent`. Run `node {skillsRoot}/ws-spec-to-pr/scripts/write_sequential_dag.cjs --slug {slug} --workflow-id {workflow-id} --plan "{planOfRecord}" --exec-out "{us-dir}/step-03-{slug}.plan.exec.md" --dag-out "{us-dir}/step-03-{slug}.exec.dag.json"` (`{planOfRecord}` = refined plan if present, else step-01); `update_state finish --status skipped --reason dag-disabled`. When `defaults.enableDag` is `true`: `dispatch-agent` `ws-plan-to-tasks` (evaluates `dagThresholds`; sequential stub or parallel DAG). | `step-03-{slug}.plan.exec.md` + `step-03-{slug}.exec.dag.json` | -| 4 | **Pre-advance guard (before first dispatch):** unless `--skip-gates` / `skipQualityGates` is active (omit and log `gate-bypass | pre-advance` per [`gates.md`](../ws-shared/gates.md) § Quality gate bypass), run `node {skillsRoot}/ws-spec-to-pr/scripts/validate_state.cjs {plansDir}/{slug}/{workflow-id}.state.md --pre-advance 4` — exit ≠ 0 → **HS-5** STOP; name missing files; do not edit product paths; do not `dispatch-agent`. Bypass does **not** weaken autoMode ≠ skip planning. Then pre-implement check: `python {skillsRoot}/ws-spec-to-pr/scripts/check_memory_conflict.py {targetPlan} --json` (`{targetPlan}` = plan of record; exit 0 proceed including MEMORY consult-skipped; exit 2 pass DO NOT / INSTEAD DO into subagent; exit 1 HS-5). `dispatch-agent` `ws-implement-tasks` mode build; inject AC slices via `node {skillsRoot}/ws-spec-to-pr/scripts/plan_index.cjs read --index "{us-dir}/plan.index.json" --ac AC{n}` (do not re-read superseded step-01). Verify `memory_consult` proof; branch-direct default | verification | +| 4 | **Pre-advance guard (before first dispatch):** unless `--skip-gates` / `skipQualityGates` is active (omit and log `gate-bypass | pre-advance` per [`gates.md`](../ws-shared/gates.md) § Quality gate bypass), run `node {skillsRoot}/ws-spec-to-pr/scripts/validate_state.cjs {plansDir}/{slug}/{workflow-id}.state.md --pre-advance 4` — exit ≠ 0 → **HS-5** STOP; name missing files; do not edit product paths; do not `dispatch-agent`. Bypass does **not** weaken autoMode ≠ skip planning. Then pre-implement check: `python {skillsRoot}/ws-spec-to-pr/scripts/check_memory_conflict.py {targetPlan} --json` (`{targetPlan}` = plan of record; exit 0 proceed including MEMORY consult-skipped; exit 2 pass DO NOT / INSTEAD DO into subagent; exit 1 HS-5). `dispatch-agent` `ws-implement-tasks` mode build (skill owns Fix-Entire-Defect-Class: repo-wide sibling sweep + exemptions; orch confirms the sweep ran before verify); inject AC slices via `node {skillsRoot}/ws-spec-to-pr/scripts/plan_index.cjs read --index "{us-dir}/plan.index.json" --ac AC{n}` (do not re-read superseded step-01). Verify `memory_consult` proof; branch-direct default | verification | | 5 | `dispatch-agent` `ws-plan-verify` **quick-score default** vs refined spec ‖ spec; full matrix if score `< minVerifyScore` or `--strict`; **Regression Sabotage Check** when required (missing required → fail-closed below the Advance bar (`knownDefect` caps at 8)); **below-bar gate** (`scoreAndRefine` until ≥ `minVerifyScore`); then **Reach-10 offer** when conditions in [`gates.md`](../ws-shared/gates.md) hold; then **G2-code after Step 5 before Step 6** (skip if empty) | `step-05-{slug}.plan.report.md` | | 6 | Fail-closed dirty preflight; `dispatch-agent` `ws-code-review` (`git diff {base}...HEAD`). When `defaults.reviewJury.size` is 2 or 3, dispatch that many independent reviews against the same commit, then for each juror run `node {skillsRoot}/ws-code-review/scripts/write_review_round.cjs … --jury-out {us-dir}/.runtime/step-06-{slug}.juror-{N}.json`, then `node {skillsRoot}/ws-spec-to-pr/scripts/merge_review_jury.cjs --review … --output {us-dir}/step-06-{slug}.jury.json --canonical-review-out {us-dir}/step-06-{slug}.review.md`. Union never drops Warning/Critical; identical findings collapse. Size 1 matches today. When `defaults.contextHygiene.backgroundVerboseSteps` is true, orch **may** use non-blocking `dispatch-agent` for Steps 6/7 if the host supports it; otherwise log `background-unsupported` and run blocking (no HS-5). Critical/Warning → **fix → re-review** via `ws-implement-tasks` (max 3; not a separate step); then G2-code of review fixes if dirty; soft model tip for stronger review LLM | `step-06-{slug}.review.md` (+ optional `.fix.report.md`) | | 7 | Machine probe first: `node {skillsRoot}/ws-testing/scripts/probe_test_surface.cjs --json`. Auto-skip **only** when `skipTesting` (`finish --reason testing-disabled`) or probe `hasTestSurface` is false and unit aliases are green (`finish --reason no-test-surface`). Agent judgment cannot skip. Else `dispatch-agent` `ws-testing`. Inside Step 7, optional **mutation** substep runs only when `verification.mutationTest` is set and `defaults.skipMutationTesting` is false; skip (log) otherwise. When mutation skipped/unset, **regression sabotage** via `run_sabotage.py`. Mutation score < `verification.mutationThreshold` (default 80) or runner non-zero → Step 7 **fail-closed** (no Advance to 8); hand off to `ws-implement-tasks` fix mode. FSM stays 0–9 (no new step). | `step-07-{slug}.testing.*` | diff --git a/bin/skill-integrity.json b/bin/skill-integrity.json index 626a3085..4bce21fd 100644 --- a/bin/skill-integrity.json +++ b/bin/skill-integrity.json @@ -5,7 +5,7 @@ "paths": "sorted relative paths ascending (posix `/`)", "skills": "sorted skill ids ascending" }, - "fullPackageDigest": "6dfbf9758c944f67ef4cf434f348362e566623e75c7afeb7d2ccf27391986526", + "fullPackageDigest": "5c0645b6c81b9b2ff21eaac5b8cf9c033d33d7945fe1479f27d5ac2804247bd9", "hub": { "files": { "ac-ledger.schema.json": "a55c7e99dbe89a23d295658924f4f3e062f104a06e39f53c890206d041d50538", @@ -485,10 +485,10 @@ "scripts/validate_state.py": "337aa2d349b2a04b244025b85c8a5fe14bb21a40a77396b7c8434417eeb4092b", "scripts/write_sequential_dag.cjs": "32f83f2cb95d85520a11015bff562a7efd18d97844fafe9ee3cb3c69681a679c", "SKILL.md": "093cee709af76b0f6942f10bd75def8d79ad68c170e7d5a32ffd15c6f9733ceb", - "STEP-DISPATCH.md": "e1f0d69396be1fb07abe853ba9fc390f65e06495c3fbe843dc9319a64229693b", + "STEP-DISPATCH.md": "b5bdd5456de644ad0d2699a401c33693e6c1c2f2e8766ef6a8e297456142604c", "ws-spec-to-pr-run-test.md": "d23e3a2e6ee392bd598539b3ee89d709656142e49f8290b7400b9d25278d94ea" }, - "skillDigest": "eeb7a802fc3cdc0951b125a5ba2fe914164240380e2163645b310c6947ebd195" + "skillDigest": "6af8ffb2be3aaeb6fdc5d3191eca35955d2652768562b8b36128c84ca87949b4" }, "ws-spec-to-pr-lite": { "files": {