Skip to content

feat: add standalone Tasks and Jobs skills - #3

Open
bruno-archastro wants to merge 2 commits into
ArchAstro:mainfrom
bruno-archastro:bruno/archdev-domain-skills
Open

feat: add standalone Tasks and Jobs skills#3
bruno-archastro wants to merge 2 commits into
ArchAstro:mainfrom
bruno-archastro:bruno/archdev-domain-skills

Conversation

@bruno-archastro

Copy link
Copy Markdown

Review on ArchCode

Problem and author intent

ArchDev v0.33.2 exposes Tasks and Jobs as separate CLI domains, but agents cannot install domain-specific operating guidance from the public distribution repository. Today the flow stops at npx skills add: there is no Tasks or Jobs package to copy, no cold-machine bootstrap, and no documented ownership boundary between authentication and the local runner.

The public installers also still expect the retired archdev-dashboard sidecar. Current release archives contain only archdev, so a clean installation downloads and verifies the archive, extracts it, then aborts with Archive is missing archdev-dashboard instead of installing the usable CLI.

This PR makes Tasks and Jobs independently installable and restores clean installation of current CLI-only releases.

What changed

  • Added self-contained tasks and jobs skills with Unix and PowerShell bootstraps.
  • Each bootstrap selects the current platform release, verifies it against SHA256SUMS, installs archdev, probes its domain capability, and returns an absolute executable path.
  • The Tasks workflow covers authentication, planning, graph import, dependencies, atomic claims, lease/session fencing, links, room-scoped tasks, release, reopen, and completion. It does not run umbrella setup or install Jobs.
  • The Jobs workflow covers foreground and durable execution, observation, cancellation, retry, cleanup, runner lifecycle, repository automation, and triggers. It does not authenticate or configure a model provider.
  • Updated install.sh, install.ps1, fixtures, and installer smoke assertions for CLI-only archives. Upgrades now remove a stale retired dashboard binary.
  • Documented global and repository-scoped installation commands in the README.

Before → after:

  • npx skills add ... --skill tasks|jobs finds no package → each domain installs independently with its own setup contract.
  • CLI archive verifies and then fails on a missing sidecar → CLI installs successfully and stale sidecar files are removed.
  • Skill bootstrap depends on a preinstalled CLI → bootstrap downloads a checksum-verified compatible release on first use.

Scope

Backend/tooling-only. No frontend code or user interface is changed.

Risk assessment

Medium. The skills are additive, but the change touches public installation paths on Unix and Windows. The Unix path was exercised against both fixtures and the live v0.33.2 release. Windows uses the same existing installer smoke workflow, but PowerShell was not available for local execution.

User impact

Agents can install only the Tasks or Jobs guidance they need. New CLI installs no longer fail because a retired dashboard binary is absent, and upgrades remove stale copies of that binary.

Testing

Canonical Tasks proof

tests/tasks-skill.sh installs the Tasks skill through the real npx skills package boundary in global and repository scopes, bootstraps a release archive into an isolated home, rejects a bad checksum, launches the installed executable as a separate process, and exercises an authenticated fenced task lifecycle. Its observable assertions verify claim/session reuse, room scope, dependency and link operations, and the absence of Jobs/setup side effects.

Canonical Jobs proof

tests/jobs-skill.sh installs the Jobs skill through the same real package boundary, verifies cold bootstrap and checksum rejection, launches the installed executable as a separate process, and exercises foreground plus durable job workflows. Its observable assertions cover logs, cancellation, retry, cleanup, runner and repository lifecycle, triggers, and the absence of authentication/provider side effects.

Commands run

  • tests/tasks-skill.sh — passed
  • tests/jobs-skill.sh — passed
  • Cold Tasks and Jobs bootstrap against the public v0.33.2 release — passed
  • install.sh against the public v0.33.2 CLI-only archive — passed
  • Unix fixture installer with completion installation and stale-sidecar cleanup — passed
  • Every documented Tasks and Jobs command form parsed against the v0.33.2 CLI — passed
  • npx skills add . --list — found both skills
  • Bash syntax checks and git diff --check — passed

The existing installer-smoke-test.yml workflow runs automatically for pull requests on Ubuntu, macOS, and Windows and covers the modified public installers. The new skill acceptance scripts are currently manual-only; wiring public skill tests into CI is intentionally deferred.

Follow-ups and known issues

  • Add automatic CI execution for public domain-skill acceptance scripts.
  • Agents and Reviews skills remain deferred until their authentication contracts are settled.
  • Rooms is intentionally excluded because it is being delivered separately.

Agent session: 01a080c2-a41b-758e-a30c-753f9b03b9c9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant