taskchef 7.15.2 → 7.15.4
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 +2 -2
- package/README.md +43 -8
- package/docs/workflows.md +1 -1
- package/package.json +1 -1
- package/skills/taskchef-bootstrap/SKILL.md +94 -22
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "taskchef",
|
|
3
|
-
"version": "7.15.
|
|
3
|
+
"version": "7.15.4",
|
|
4
4
|
"description": "Dispatch work from a data-only workspace to visible Codex project tasks.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Favo Yang",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"websiteURL": "https://github.com/favoyang/taskchef",
|
|
31
31
|
"defaultPrompt": [
|
|
32
|
-
"$taskchef-bootstrap Set up TaskChef
|
|
32
|
+
"$taskchef-bootstrap Set up TaskChef and index my Codex projects.",
|
|
33
33
|
"$taskchef-delegate Dispatch this request to the right project.",
|
|
34
34
|
"$taskchef-executor Execute this delegated TaskChef assignment.",
|
|
35
35
|
"$taskchef-copilot Explain TaskChef outcomes and recommend the next action."
|
package/README.md
CHANGED
|
@@ -36,7 +36,7 @@ puts the `taskchef` CLI on `PATH`. TaskChef installs no hooks, schedules,
|
|
|
36
36
|
daemons, login items, system services, or background identity search and needs
|
|
37
37
|
no elevated permissions.
|
|
38
38
|
|
|
39
|
-
## Bootstrap and
|
|
39
|
+
## Bootstrap and index projects
|
|
40
40
|
|
|
41
41
|
Ask the bootstrap skill to create the per-user dispatcher:
|
|
42
42
|
|
|
@@ -48,17 +48,42 @@ The canonical workspace is `~/.agents/taskchef`. TaskChef owns only:
|
|
|
48
48
|
|
|
49
49
|
```text
|
|
50
50
|
AGENTS.md managed dispatcher instructions plus user additions
|
|
51
|
-
taskchef.json schema-2
|
|
51
|
+
taskchef.json schema-2 Codex project index and delegation metadata
|
|
52
52
|
tasks.jsonl one task snapshot per line (schema 9; schema 4-8 migration supported)
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
Index or inspect Codex projects conversationally:
|
|
56
56
|
|
|
57
57
|
```text
|
|
58
|
-
$taskchef-bootstrap List my
|
|
59
|
-
$taskchef-bootstrap
|
|
58
|
+
$taskchef-bootstrap List my indexed Codex projects.
|
|
59
|
+
$taskchef-bootstrap Index /workspace/payments as payments. It owns authorization, capture, refunds, and retries.
|
|
60
|
+
$taskchef-bootstrap Reindex after the Codex projects I added today.
|
|
60
61
|
```
|
|
61
62
|
|
|
63
|
+
TaskChef indexes existing Codex projects for delegation. The index stores
|
|
64
|
+
canonical paths and routing metadata; it never indexes repository contents or
|
|
65
|
+
creates another kind of project. For a folder already saved as a local Codex
|
|
66
|
+
project, the bootstrap skill requires an exact canonical-path match before
|
|
67
|
+
writing and verifying its TaskChef index entry. For a new folder, or an existing
|
|
68
|
+
folder not yet saved by Codex, it creates the directory only when explicitly
|
|
69
|
+
requested, opens the canonical path with the validated Codex Desktop CLI's
|
|
70
|
+
`codex app <path>` mechanism, re-lists native projects, and requires the same
|
|
71
|
+
exact match before indexing it. An open request without a verified native
|
|
72
|
+
project is reported as partial setup, not delegation-ready.
|
|
73
|
+
|
|
74
|
+
Reindexing catches TaskChef up with newly saved Codex projects by comparing
|
|
75
|
+
exact canonical paths and indexing missing requested projects. It preserves
|
|
76
|
+
existing curated entries and does not silently remove projects or overwrite
|
|
77
|
+
metadata.
|
|
78
|
+
|
|
79
|
+
Codex CLI resolution follows the same contract as
|
|
80
|
+
`workspace init --register-codex`: an explicit `--codex-cli` path wins, then
|
|
81
|
+
`TASKCHEF_CODEX_CLI`; either must be executable and support `app --help`.
|
|
82
|
+
Without an override, TaskChef prefers a validated `codex` PATH candidate under
|
|
83
|
+
`Contents/Resources`; otherwise it validates only the first executable `codex`
|
|
84
|
+
in PATH order. It does not assume an arbitrary shell command or hard-code an
|
|
85
|
+
application bundle location.
|
|
86
|
+
|
|
62
87
|
Or use the CLI:
|
|
63
88
|
|
|
64
89
|
```sh
|
|
@@ -67,10 +92,20 @@ taskchef project add /workspace/payments --name payments \
|
|
|
67
92
|
taskchef project list
|
|
68
93
|
```
|
|
69
94
|
|
|
95
|
+
The CLI command writes TaskChef metadata only; it does not query Codex. Before
|
|
96
|
+
using it directly, verify that `/workspace/payments` exactly matches the
|
|
97
|
+
canonical path of an existing local Codex project. The bootstrap skill performs
|
|
98
|
+
that native-project check for you.
|
|
99
|
+
|
|
70
100
|
A project may advertise several GitHub repositories with repeated
|
|
71
|
-
`--github-repo`.
|
|
72
|
-
|
|
73
|
-
|
|
101
|
+
`--github-repo`. Explicit values replace automatic origin detection and form
|
|
102
|
+
the complete advertised list, so include the origin when it should remain
|
|
103
|
+
routable. A managed `*-workspace` should advertise every relevant child or
|
|
104
|
+
subrepository canonical GitHub URL, plus the workspace repository itself when
|
|
105
|
+
applicable, so issue and pull-request links select the correct Codex project.
|
|
106
|
+
TaskChef accepts Git roots and ordinary local folders on the same execution
|
|
107
|
+
host. Unsupported configuration schemas are rejected and are never rewritten
|
|
108
|
+
automatically.
|
|
74
109
|
|
|
75
110
|
## Dispatch
|
|
76
111
|
|
package/docs/workflows.md
CHANGED
|
@@ -12,7 +12,7 @@ research.
|
|
|
12
12
|
| --- | --- |
|
|
13
13
|
| `skills/taskchef-delegate/SKILL.md` | Split, route, record-before-create, create, return. |
|
|
14
14
|
| `skills/taskchef-executor/SKILL.md` | Own, self-link, execute, and report every executor turn. |
|
|
15
|
-
| `skills/taskchef-bootstrap/SKILL.md` | Initialize
|
|
15
|
+
| `skills/taskchef-bootstrap/SKILL.md` | Initialize the workspace and maintain the Codex project index. |
|
|
16
16
|
| `skills/taskchef-copilot/SKILL.md` | Explain normalized cached briefs and coordinate safe next actions. |
|
|
17
17
|
| `src/mcp.js` | Dashboard ensure, four primary lifecycle tools, one deprecated alias, shutdown ownership, and MCP annotations. |
|
|
18
18
|
| `src/delegation.js` | UUID marker, concise executor-skill invocation shape, and creation-failure handling. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: taskchef-bootstrap
|
|
3
|
-
description: "Initialize, diagnose, or refresh TaskChef dispatcher workspaces, project
|
|
3
|
+
description: "Initialize, diagnose, or refresh TaskChef dispatcher workspaces, the Codex project index, task history, and managed AGENTS.md instructions. Use when creating a TaskChef workspace, indexing or reindexing Codex projects, importing, listing, or removing indexed projects, running TaskChef doctor, or repairing dispatcher setup. Do not dispatch user work or report on executor threads."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# TaskChef Bootstrap
|
|
@@ -50,28 +50,100 @@ all deterministic workspace operations.
|
|
|
50
50
|
End without dispatching unless the user
|
|
51
51
|
separately requested work.
|
|
52
52
|
|
|
53
|
-
##
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
53
|
+
## Index Codex projects
|
|
54
|
+
|
|
55
|
+
TaskChef's project index is the local list of Codex projects available for
|
|
56
|
+
delegation. It stores canonical paths and routing metadata such as curated
|
|
57
|
+
names, descriptions, Git status, and GitHub repositories. It does not index
|
|
58
|
+
repository contents or create a second kind of project.
|
|
59
|
+
|
|
60
|
+
Index only Codex projects local to the TaskChef workspace's execution host.
|
|
61
|
+
Remote connection projects are outside the v1 contract. Never index the
|
|
62
|
+
TaskChef dispatcher workspace or a directory containing it; the dispatcher is
|
|
63
|
+
the inbox, while indexed Codex projects own delegated work.
|
|
64
|
+
|
|
65
|
+
### Existing Codex project
|
|
66
|
+
|
|
67
|
+
1. List native local Codex projects once. Resolve the requested existing folder
|
|
68
|
+
with `realpath` and require an exact canonical-path match in that list. A
|
|
69
|
+
similar name, a parent or child directory, and a remote connection project
|
|
70
|
+
are not matches.
|
|
71
|
+
2. Index the exact path with the existing `project add <canonical-path> --name
|
|
72
|
+
<curated-name> --description <curated-description> --json` CLI workflow.
|
|
73
|
+
Despite the command's historical `add` name, this writes one TaskChef index
|
|
74
|
+
entry for an existing Codex project. The CLI detects Git status, the exact
|
|
75
|
+
Git root, and a canonical GitHub `origin` when no repository option is
|
|
76
|
+
supplied. Repeated `--github-repo <canonical-url>` arguments replace that
|
|
77
|
+
detection and form the complete advertised repository list, so repeat the
|
|
78
|
+
origin explicitly when it should remain routable. Use `--no-github` when the
|
|
79
|
+
user intentionally wants an empty list.
|
|
80
|
+
3. Run `project list --json` and require one indexed entry with the exact
|
|
81
|
+
canonical path and intended routing metadata. Only then report that the
|
|
82
|
+
Codex project is ready for delegation through TaskChef.
|
|
83
|
+
|
|
84
|
+
### New or not-yet-saved Codex folder
|
|
85
|
+
|
|
86
|
+
1. Create the folder only when the user explicitly asked to create it. Preserve
|
|
87
|
+
unrelated existing contents. Do not initialize Git unless requested or
|
|
88
|
+
clearly required by the user's broader task. Resolve the resulting existing
|
|
89
|
+
folder with `realpath`.
|
|
90
|
+
2. Register or open that exact canonical folder with the supported
|
|
91
|
+
`<validated-codex-cli> app <canonical-path>` mechanism. Reuse a validated CLI
|
|
92
|
+
path supplied by the current Codex Desktop environment when available. Use
|
|
93
|
+
the same resolver contract as `workspace init --register-codex` otherwise:
|
|
94
|
+
an explicit `--codex-cli` path takes precedence over `TASKCHEF_CODEX_CLI`;
|
|
95
|
+
each must resolve to an executable that passes `app --help`. Without an
|
|
96
|
+
override, inspect `codex` executables from `PATH`, prefer a validated
|
|
97
|
+
candidate whose path contains `Contents/Resources`, and otherwise validate
|
|
98
|
+
only the first executable `codex` in PATH order. Never assume an arbitrary
|
|
99
|
+
shell `codex`, invoke `codex add`, or hard-code an application bundle path.
|
|
100
|
+
3. Re-list native local Codex projects and require an exact canonical-path
|
|
101
|
+
match. Opening is a request, not proof that Codex saved the project. If the
|
|
102
|
+
exact match is absent, report that the folder was opened or registration was
|
|
103
|
+
requested but Codex registration remains unverified; do not index it in
|
|
104
|
+
TaskChef or call it delegation-ready.
|
|
105
|
+
4. After Codex verification, index the project as in the existing-project path.
|
|
106
|
+
Run `project list --json` and verify the exact TaskChef index entry. Report
|
|
107
|
+
delegation readiness only after both the native Codex match and TaskChef
|
|
108
|
+
indexing are verified.
|
|
109
|
+
|
|
110
|
+
For a managed `*-workspace` Codex project, advertise every relevant child or
|
|
111
|
+
subrepository with repeated `--github-repo <canonical-github-url>` arguments,
|
|
112
|
+
including the workspace repository itself when it can own issue or pull-request
|
|
113
|
+
links. These explicit values are the complete list; automatic origin detection
|
|
114
|
+
does not supplement them. This lets TaskChef route each canonical GitHub URL to
|
|
115
|
+
the correct workspace rather than guessing from the folder name.
|
|
116
|
+
|
|
117
|
+
### Reindex after Codex changes
|
|
118
|
+
|
|
119
|
+
When the user asks TaskChef to reindex or catch up after saving more projects in
|
|
120
|
+
Codex, list native local Codex projects once and run `project list --json` once
|
|
121
|
+
before mutation. Compare exact canonical paths, then index each requested
|
|
122
|
+
eligible Codex project that is missing from TaskChef by following the
|
|
123
|
+
appropriate path above, sharing the batch verification instead of relisting
|
|
124
|
+
after each write. After all additions, run `project list --json` once more and
|
|
125
|
+
verify every intended canonical path and its routing metadata before reporting
|
|
126
|
+
the index as current.
|
|
127
|
+
|
|
128
|
+
Do not call `project add` for a path already in the TaskChef index; it rejects
|
|
129
|
+
duplicate paths and must not be presented as a metadata refresh. Preserve
|
|
130
|
+
existing curated entries, and do not remove entries merely because they are
|
|
131
|
+
absent from the current Codex list. Refreshing or removing an existing entry
|
|
132
|
+
requires an explicit user request and the project-management workflows below.
|
|
133
|
+
|
|
134
|
+
## Manage the project index
|
|
135
|
+
|
|
136
|
+
1. Bulk import with `project import <file|-> --json`. Input is a JSON array of
|
|
68
137
|
objects containing `path` plus optional `name`, `description`, and
|
|
69
|
-
`githubRepos`, which is always a JSON array of GitHub repository URLs.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
138
|
+
`githubRepos`, which is always a JSON array of GitHub repository URLs. Before
|
|
139
|
+
importing, list native local Codex projects once, canonicalize every input
|
|
140
|
+
path, and require an exact local-project match for every entry. Reject or
|
|
141
|
+
report every unmatched path instead of indexing it. Import merges by
|
|
142
|
+
canonical path, preserves an existing name or description when omitted, and
|
|
143
|
+
unions existing and imported repository lists without duplicates. Use
|
|
144
|
+
`--replace` only when the user explicitly requests replacement. Run
|
|
145
|
+
`project list --json` afterward and verify every imported entry.
|
|
146
|
+
2. Inspect indexed projects with `project list --json`. Remove by name with
|
|
75
147
|
`project remove`. Existing task entries keep their project snapshots.
|
|
76
148
|
|
|
77
149
|
Example managed-workspace import entry:
|