taskchef 7.15.3 → 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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taskchef",
3
- "version": "7.15.3",
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 in this folder.",
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 configure
39
+ ## Bootstrap and index projects
40
40
 
41
41
  Ask the bootstrap skill to create the per-user dispatcher:
42
42
 
@@ -48,25 +48,33 @@ 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 configured projects and routing metadata
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
- List or change routing targets conversationally:
55
+ Index or inspect Codex projects conversationally:
56
56
 
57
57
  ```text
58
- $taskchef-bootstrap List my configured TaskChef projects.
59
- $taskchef-bootstrap Add /workspace/payments as payments. It owns authorization, capture, refunds, and retries.
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
 
62
- The bootstrap skill has two onboarding paths. For a folder already saved as a
63
- local Codex project, it requires an exact canonical-path match before adding and
64
- verifying the TaskChef project. For a new folder, or an existing folder not yet
65
- saved by Codex, it creates the directory only when explicitly requested, opens
66
- the canonical path with the validated Codex Desktop CLI's `codex app <path>`
67
- mechanism, re-lists native projects, and requires the same exact match before
68
- adding it to TaskChef. An open request without a verified native project is
69
- reported as partial setup, not delegation-ready.
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.
70
78
 
71
79
  Codex CLI resolution follows the same contract as
72
80
  `workspace init --register-codex`: an explicit `--codex-cli` path wins, then
@@ -84,12 +92,17 @@ taskchef project add /workspace/payments --name payments \
84
92
  taskchef project list
85
93
  ```
86
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
+
87
100
  A project may advertise several GitHub repositories with repeated
88
101
  `--github-repo`. Explicit values replace automatic origin detection and form
89
102
  the complete advertised list, so include the origin when it should remain
90
103
  routable. A managed `*-workspace` should advertise every relevant child or
91
104
  subrepository canonical GitHub URL, plus the workspace repository itself when
92
- applicable, so issue and pull-request links select the correct routing project.
105
+ applicable, so issue and pull-request links select the correct Codex project.
93
106
  TaskChef accepts Git roots and ordinary local folders on the same execution
94
107
  host. Unsupported configuration schemas are rejected and are never rewritten
95
108
  automatically.
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 current workspace and configure projects. |
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",
3
- "version": "7.15.3",
3
+ "version": "7.15.4",
4
4
  "description": "A non-blocking interactive dispatcher for visible Codex tasks.",
5
5
  "license": "MIT",
6
6
  "author": "Favo Yang",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: taskchef-bootstrap
3
- description: "Initialize, diagnose, or refresh TaskChef dispatcher workspaces, project configuration, task history, and managed AGENTS.md instructions. Use when creating a TaskChef workspace, adding, importing, listing, or removing configured projects, running TaskChef doctor, or repairing dispatcher setup. Do not dispatch user work or report on executor threads."
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,12 +50,17 @@ all deterministic workspace operations.
50
50
  End without dispatching unless the user
51
51
  separately requested work.
52
52
 
53
- ## Onboard a routing project
53
+ ## Index Codex projects
54
54
 
55
- Configure only projects local to the TaskChef workspace's execution host.
56
- Remote connection projects are outside the v1 contract. Never configure the
57
- TaskChef dispatcher workspace or a directory containing it as a routing target;
58
- the dispatcher is the inbox, while routing projects own delegated work.
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.
59
64
 
60
65
  ### Existing Codex project
61
66
 
@@ -63,16 +68,18 @@ the dispatcher is the inbox, while routing projects own delegated work.
63
68
  with `realpath` and require an exact canonical-path match in that list. A
64
69
  similar name, a parent or child directory, and a remote connection project
65
70
  are not matches.
66
- 2. Add the exact path with `project add <canonical-path> --name <curated-name>
67
- --description <curated-description> --json`. The CLI detects Git status, the
68
- exact Git root, and a canonical GitHub `origin` when no repository option is
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
69
76
  supplied. Repeated `--github-repo <canonical-url>` arguments replace that
70
77
  detection and form the complete advertised repository list, so repeat the
71
78
  origin explicitly when it should remain routable. Use `--no-github` when the
72
79
  user intentionally wants an empty list.
73
- 3. Run `project list --json` and require one saved TaskChef project with the
74
- exact canonical path and intended routing metadata. Only then report that it
75
- is ready for delegation.
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.
76
83
 
77
84
  ### New or not-yet-saved Codex folder
78
85
 
@@ -93,30 +100,50 @@ the dispatcher is the inbox, while routing projects own delegated work.
93
100
  3. Re-list native local Codex projects and require an exact canonical-path
94
101
  match. Opening is a request, not proof that Codex saved the project. If the
95
102
  exact match is absent, report that the folder was opened or registration was
96
- requested but Codex registration remains unverified; do not add it to
103
+ requested but Codex registration remains unverified; do not index it in
97
104
  TaskChef or call it delegation-ready.
98
- 4. After Codex verification, add the project as in the existing-project path.
99
- Run `project list --json` and verify the exact saved TaskChef project. Report
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
100
107
  delegation readiness only after both the native Codex match and TaskChef
101
- registration are verified.
108
+ indexing are verified.
102
109
 
103
- For a managed `*-workspace` routing project, advertise every relevant child or
110
+ For a managed `*-workspace` Codex project, advertise every relevant child or
104
111
  subrepository with repeated `--github-repo <canonical-github-url>` arguments,
105
112
  including the workspace repository itself when it can own issue or pull-request
106
113
  links. These explicit values are the complete list; automatic origin detection
107
114
  does not supplement them. This lets TaskChef route each canonical GitHub URL to
108
115
  the correct workspace rather than guessing from the folder name.
109
116
 
110
- ## Manage configured projects
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
111
135
 
112
136
  1. Bulk import with `project import <file|-> --json`. Input is a JSON array of
113
137
  objects containing `path` plus optional `name`, `description`, and
114
- `githubRepos`, which is always a JSON array of GitHub repository URLs. Import
115
- merges by canonical path, preserves an existing name or description when
116
- omitted, and unions existing and imported repository lists without
117
- duplicates. Use `--replace` only when the user explicitly requests
118
- replacement.
119
- 2. Inspect configured projects with `project list --json`. Remove by name with
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
120
147
  `project remove`. Existing task entries keep their project snapshots.
121
148
 
122
149
  Example managed-workspace import entry: