Skip to content

Commit b5db159

Browse files
jfranc38claude
andauthored
feat(catalog): add Spec Kit Schedule (schedule) community extension (#2473)
* feat(catalog): add Spec Kit Schedule (schedule) community extension CP-SAT scheduler for spec-kit projects with multi-agent task optimization. Adds catalog entry for v0.5.2 release. Pre-flight verification: - archive/refs/tags/v0.5.2.zip resolves (HTTP 200, 718322 bytes, SHA-256 00d4dab1df680e5888e0d0e861eb4696ace00661d40669bf719a75dc379b40b5) - extension.yml schema_version 1.0, id 'schedule', 3 commands (speckit.schedule.run, speckit.schedule.portfolio, speckit.schedule.visualize) - 566 tests passing on Ubuntu 3.10/3.11/3.12 + macOS 3.12 (all blocking) - 92.51% line coverage, mypy --strict on 28 modules - Sigstore attestations via attest-build-provenance@v2 (gh attestation verify exit 0 confirmed) - 4 worked examples + replan demo runnable via bash bin/run-examples.sh License: MIT speckit_version: >=0.4.0 * fix(catalog): update Spec Kit Schedule entry to v0.5.3 v0.5.2 had two real-world install bugs caught when a user tried the documented commands: 1. README/INSTALL showed 'specify extension add --from URL' (missing the EXTENSION positional arg). The canonical form is 'specify extension add schedule --from URL'. Fixed in v0.5.3. 2. Release zip was ~5x bigger than peer extensions due to dev cruft (.github/, tests/, benchmarks/, build metadata). Added .gitattributes export-ignore in v0.5.3, dropping the zip from 718 KB to 590 KB. v0.5.3 archive verified HTTP 200, sigstore attestations active. * fix(catalog): bump Spec Kit Schedule entry to v0.5.4 Adds an opt-in after_tasks hook so users get prompted to run the scheduler immediately after /speckit.tasks, without forcing it. Mirrors the canonical pattern used by the bundled 'git' extension. * fix(catalog): bump Spec Kit Schedule entry to v0.5.5 Documents the after_tasks hook in README and rewrites the /speckit.schedule.portfolio command to autodetect the project's tech stack via solver.autodetect, then refine interactively against the matching recipe in docs/portfolio-design.md, instead of starting from a blank slate. * fix(catalog): bump Spec Kit Schedule entry to v0.6.0 State now encapsulated under .specify/, /speckit.schedule.run is idempotent with auto-bootstrap, and portfolio detection is AI-aware (reads .specify/integration.json and discovers the user's fleet from the canonical location for whichever spec-kit AI assistant they chose: claude, copilot, cursor-agent, gemini, or any of the other 26 supported integrations). * fix(catalog): bump Spec Kit Schedule entry to v0.6.1 Per-AI portfolio templates with verified May 2026 GA models (gpt-5.5 flagship, claude-opus-4-7, gemini-2.5-flash). Critical price unit fix (cost_aware reported $ figures 1000× inflated in v0.6.0). Plus calibration feedback loop and inline summary. * fix(readme): add Spec Kit Schedule row to Community Extensions table Per Copilot review on PR #2473: the publishing guide requires an accepted submission to update both extensions/catalog.community.json AND the root README's Community Extensions table. Without the README row the extension wouldn't appear in the primary browsable list. Inserted alphabetically between 'Spec Diagram' and 'Spec Orchestrator'. Category: process. Effect: Read+Write. * fix(catalog): provides.commands 3→4 (schedule only) + bump top-level updated_at Surgical edit responding to two Copilot review nits on PR #2473. Previous attempt used str.replace too broadly and was reverted — this version uses unique anchors to mutate only the schedule entry and the top-level updated_at field. 1. extensions/catalog.community.json schedule entry had provides.commands: 3, but the extension exposes 4 commands (run, portfolio, visualize, calibrate — calibrate was added in v0.6.0 Build 2 / calibration feedback loop). 2. Top-level catalog updated_at was 2026-05-06T22:28:55Z but per-entry updated_at for our schedule entry is 2026-05-07. Since this PR modifies the catalog, the top-level timestamp advances too. * fix(catalog): bump Spec Kit Schedule entry to v0.6.2 Adds /speckit.schedule.status (5th command) — self-diagnose installation state, distinguishes 'expected-missing' (will bootstrap automatically) from 'missing' (real problem). Closes the audit-tool false-alarm gap where schedule-config.yml absence post-install was misread as broken state. --------- Co-authored-by: Julio César Franco Ardila <noreply@anthropic.com>
1 parent 947b439 commit b5db159

2 files changed

Lines changed: 34 additions & 1 deletion

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ The following community-contributed extensions are available in [`catalog.commun
268268
| Spec Reference Loader | Reads the ## References section from the feature spec and loads only the listed docs into context | `docs` | Read-only | [spec-kit-spec-reference-loader](https://github.com/KevinBrown5280/spec-kit-spec-reference-loader) |
269269
| Spec Critique Extension | Dual-lens critical review of spec and plan from product strategy and engineering risk perspectives | `docs` | Read-only | [spec-kit-critique](https://github.com/arunt14/spec-kit-critique) |
270270
| Spec Diagram | Auto-generate Mermaid diagrams of SDD workflow state, feature progress, and task dependencies | `visibility` | Read-only | [spec-kit-diagram-](https://github.com/Quratulain-bilal/spec-kit-diagram-) |
271+
| Spec Kit Schedule | Optimal multi-agent task scheduling via CP-SAT — DAG precedence, hallucination-aware caps, file-conflict avoidance, stochastic durations, replanning, and interactive HTML output | `process` | Read+Write | [spec-kit-schedule](https://github.com/jfranc38/spec-kit-schedule) |
271272
| Spec Orchestrator | Cross-feature orchestration — track state, select tasks, and detect conflicts across parallel specs | `process` | Read-only | [spec-kit-orchestrator](https://github.com/Quratulain-bilal/spec-kit-orchestrator) |
272273
| Spec Refine | Update specs in-place, propagate changes to plan and tasks, and diff impact across artifacts | `process` | Read+Write | [spec-kit-refine](https://github.com/Quratulain-bilal/spec-kit-refine) |
273274
| Spec Scope | Effort estimation and scope tracking — estimate work, detect creep, and budget time per phase | `process` | Read-only | [spec-kit-scope-](https://github.com/Quratulain-bilal/spec-kit-scope-) |

extensions/catalog.community.json

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"schema_version": "1.0",
3-
"updated_at": "2026-05-07T15:37:14Z",
3+
"updated_at": "2026-05-07T20:05:00Z",
44
"catalog_url": "https://raw.githubusercontent.com/github/spec-kit/main/extensions/catalog.community.json",
55
"extensions": {
66
"aide": {
@@ -2145,6 +2145,38 @@
21452145
"created_at": "2026-04-20T00:00:00Z",
21462146
"updated_at": "2026-04-20T00:00:00Z"
21472147
},
2148+
"schedule": {
2149+
"name": "Spec Kit Schedule — CP-SAT Agent Orchestrator",
2150+
"id": "schedule",
2151+
"description": "Optimal multi-agent task scheduling via CP-SAT solver with DAG precedence, hallucination-aware caps, file-conflict avoidance, stochastic durations, replanning, and interactive HTML output",
2152+
"author": "Julio César Franco Ardila",
2153+
"version": "0.6.2",
2154+
"download_url": "https://github.com/jfranc38/spec-kit-schedule/archive/refs/tags/v0.6.2.zip",
2155+
"repository": "https://github.com/jfranc38/spec-kit-schedule",
2156+
"homepage": "https://github.com/jfranc38/spec-kit-schedule",
2157+
"documentation": "https://github.com/jfranc38/spec-kit-schedule/blob/main/README.md",
2158+
"changelog": "https://github.com/jfranc38/spec-kit-schedule/blob/main/CHANGELOG.md",
2159+
"license": "MIT",
2160+
"requires": {
2161+
"speckit_version": ">=0.4.0"
2162+
},
2163+
"provides": {
2164+
"commands": 5,
2165+
"hooks": 1
2166+
},
2167+
"tags": [
2168+
"scheduling",
2169+
"optimization",
2170+
"multi-agent",
2171+
"cp-sat",
2172+
"operations-research"
2173+
],
2174+
"verified": false,
2175+
"downloads": 0,
2176+
"stars": 0,
2177+
"created_at": "2026-05-06T22:35:00Z",
2178+
"updated_at": "2026-05-07T17:25:00Z"
2179+
},
21482180
"scope": {
21492181
"name": "Spec Scope",
21502182
"id": "scope",

0 commit comments

Comments
 (0)