goalbuddy 0.3.5 → 0.3.7
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/README.md +46 -12
- package/RELEASE-0.3.5.md +4 -4
- package/RELEASE-0.3.7.md +127 -0
- package/goalbuddy/SKILL.md +53 -23
- package/goalbuddy/agents/README.md +1 -1
- package/goalbuddy/agents/goal_judge.toml +8 -4
- package/goalbuddy/agents/goal_worker.toml +8 -5
- package/goalbuddy/scripts/check-goal-state.mjs +129 -0
- package/goalbuddy/scripts/render-task-prompt.mjs +83 -5
- package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/README.md +7 -9
- package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/examples/sample-goal/state.yaml +5 -5
- package/{plugins/goalbuddy/skills/goalbuddy/extend → goalbuddy/surfaces}/local-goal-board/examples/subgoal-parent/state.yaml +3 -3
- package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/state.yaml +3 -3
- package/goalbuddy/{extend → surfaces}/local-goal-board/scripts/lib/goal-board.mjs +250 -9
- package/goalbuddy/{extend → surfaces}/local-goal-board/scripts/local-goal-board.mjs +4 -4
- package/goalbuddy/{extend → surfaces}/local-goal-board/test/local-goal-board.test.mjs +67 -9
- package/goalbuddy/templates/agents.md +3 -2
- package/goalbuddy/templates/goal.md +27 -4
- package/goalbuddy/templates/state.yaml +13 -7
- package/internal/assets/goalbuddy-v0.3.7-release.png +0 -0
- package/internal/cli/goal-maker.mjs +112 -714
- package/package.json +4 -4
- package/plugins/goalbuddy/.claude-plugin/plugin.json +3 -4
- package/plugins/goalbuddy/.codex-plugin/plugin.json +5 -6
- package/plugins/goalbuddy/README.md +4 -3
- package/plugins/goalbuddy/agents/goal-judge.md +8 -4
- package/plugins/goalbuddy/agents/goal-worker.md +6 -4
- package/plugins/goalbuddy/skills/goalbuddy/SKILL.md +53 -23
- package/plugins/goalbuddy/skills/goalbuddy/agents/README.md +1 -1
- package/plugins/goalbuddy/skills/goalbuddy/agents/goal_judge.toml +8 -4
- package/plugins/goalbuddy/skills/goalbuddy/agents/goal_worker.toml +8 -5
- package/plugins/goalbuddy/skills/goalbuddy/scripts/check-goal-state.mjs +129 -0
- package/plugins/goalbuddy/skills/goalbuddy/scripts/render-task-prompt.mjs +83 -5
- package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/README.md +7 -9
- package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/examples/sample-goal/state.yaml +5 -5
- package/{goalbuddy/extend → plugins/goalbuddy/skills/goalbuddy/surfaces}/local-goal-board/examples/subgoal-parent/state.yaml +3 -3
- package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/state.yaml +3 -3
- package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/scripts/lib/goal-board.mjs +250 -9
- package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/scripts/local-goal-board.mjs +4 -4
- package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/test/local-goal-board.test.mjs +67 -9
- package/plugins/goalbuddy/skills/goalbuddy/templates/agents.md +3 -2
- package/plugins/goalbuddy/skills/goalbuddy/templates/goal.md +27 -4
- package/plugins/goalbuddy/skills/goalbuddy/templates/state.yaml +13 -7
- package/examples/extend-catalog-workflow/goal.md +0 -53
- package/examples/extend-catalog-workflow/notes/T001-extension-model-map.md +0 -47
- package/examples/extend-catalog-workflow/notes/T002-architecture-decision.md +0 -48
- package/examples/extend-catalog-workflow/notes/T003-implementation-summary.md +0 -43
- package/examples/extend-catalog-workflow/notes/T004-root-extend-folder.md +0 -24
- package/examples/extend-catalog-workflow/notes/T005-layout-cleanup.md +0 -46
- package/examples/extend-catalog-workflow/notes/T006-catalog-location.md +0 -50
- package/examples/extend-catalog-workflow/notes/T999-completion-audit.md +0 -36
- package/examples/extend-catalog-workflow/state.yaml +0 -327
- package/examples/github-pr-workflow-extension/pr-handoff.md +0 -46
- package/goalbuddy/extend/github-projects/README.md +0 -105
- package/goalbuddy/extend/github-projects/examples/goal-board-sync/state.yaml +0 -63
- package/goalbuddy/extend/github-projects/extension.yaml +0 -43
- package/goalbuddy/extend/github-projects/scripts/lib/github-projects.mjs +0 -728
- package/goalbuddy/extend/github-projects/scripts/lib/goal-state.mjs +0 -362
- package/goalbuddy/extend/github-projects/scripts/sync-github-project.mjs +0 -193
- package/goalbuddy/extend/github-projects/test/github-projects.test.mjs +0 -267
- package/goalbuddy/extend/local-goal-board/extension.yaml +0 -39
- package/internal/assets/extend-release.png +0 -0
- package/internal/assets/extend-release.svg +0 -83
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/README.md +0 -105
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/examples/goal-board-sync/state.yaml +0 -63
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/extension.yaml +0 -43
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/lib/github-projects.mjs +0 -728
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/lib/goal-state.mjs +0 -362
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/scripts/sync-github-project.mjs +0 -193
- package/plugins/goalbuddy/skills/goalbuddy/extend/github-projects/test/github-projects.test.mjs +0 -267
- package/plugins/goalbuddy/skills/goalbuddy/extend/local-goal-board/extension.yaml +0 -39
- /package/goalbuddy/{extend → surfaces}/local-goal-board/assets/goalbuddy-mark.png +0 -0
- /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/sample-goal/notes/T001-scout.md +0 -0
- /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/goal.md +0 -0
- /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/notes/.gitkeep +0 -0
- /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/goal.md +0 -0
- /package/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/notes/.gitkeep +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/assets/goalbuddy-mark.png +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/sample-goal/notes/T001-scout.md +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/goal.md +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/notes/.gitkeep +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/goal.md +0 -0
- /package/plugins/goalbuddy/skills/goalbuddy/{extend → surfaces}/local-goal-board/examples/subgoal-parent/subgoals/T004-board-view/notes/.gitkeep +0 -0
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# T001: Extension Model Map
|
|
2
|
-
|
|
3
|
-
Task: `T001`
|
|
4
|
-
Kind: `scout`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
The scalable frame is `extend`: optional extension folders live at the repo root under `extend/`, and catalog metadata lives at `extend/catalog.json`. The npm CLI should read the GitHub-hosted catalog so extension discovery can change without publishing a new npm version.
|
|
10
|
-
|
|
11
|
-
Board publishing is the first likely extension family, but the extension surface should also support unrelated add-ons such as role guidance, reports, intake tools, and external channel publishing.
|
|
12
|
-
|
|
13
|
-
## Recommended Vocabulary
|
|
14
|
-
|
|
15
|
-
- Repo surface: `extend/`
|
|
16
|
-
- Items inside `extend/`: extensions
|
|
17
|
-
- Catalog file: `extend/catalog.json`
|
|
18
|
-
- Public action for external surfaces: publish
|
|
19
|
-
- Avoid umbrella words: export, sync, capabilities
|
|
20
|
-
|
|
21
|
-
## Architecture Notes
|
|
22
|
-
|
|
23
|
-
Core should own:
|
|
24
|
-
|
|
25
|
-
- skill installation;
|
|
26
|
-
- agent installation;
|
|
27
|
-
- board checker scripts;
|
|
28
|
-
- extension catalog discovery;
|
|
29
|
-
- checksum-verified extension installation;
|
|
30
|
-
- extension doctor checks.
|
|
31
|
-
|
|
32
|
-
Extensions should own:
|
|
33
|
-
|
|
34
|
-
- provider-specific behavior;
|
|
35
|
-
- provider docs;
|
|
36
|
-
- auth requirements;
|
|
37
|
-
- fixtures and tests;
|
|
38
|
-
- optional role or reporting guidance.
|
|
39
|
-
|
|
40
|
-
No extension may define a second meaning of `state.yaml`.
|
|
41
|
-
|
|
42
|
-
## Candidate Tasks
|
|
43
|
-
|
|
44
|
-
- Add a catalog-backed `goal-maker extend` command.
|
|
45
|
-
- Add root `extend/` documentation.
|
|
46
|
-
- Keep package-only CLI/tests out of the installable skill folder.
|
|
47
|
-
- Add repo agent guidance so future improvements consider docs, skill instructions, CLI, tests, examples, and extensions together.
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# T002: Architecture Decision
|
|
2
|
-
|
|
3
|
-
Task: `T002`
|
|
4
|
-
Kind: `judge`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Decision
|
|
8
|
-
|
|
9
|
-
Use `extend` as the high-level optional surface and call each item an extension. Keep the default catalog GitHub-hosted at:
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
https://raw.githubusercontent.com/tolibear/goal-maker/main/extend/catalog.json
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
The npm package should contain the stable core and CLI. The catalog can change on GitHub without requiring users to update npm for every optional integration.
|
|
16
|
-
|
|
17
|
-
## CLI Shape
|
|
18
|
-
|
|
19
|
-
Use one top-level extension command instead of separate browse/list/show verbs:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
goal-maker extend
|
|
23
|
-
goal-maker extend <extension-id>
|
|
24
|
-
goal-maker extend install <extension-id>
|
|
25
|
-
goal-maker extend doctor [extension-id]
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
This keeps the UX simple:
|
|
29
|
-
|
|
30
|
-
- no argument means "show the catalog";
|
|
31
|
-
- an id means "show this extension";
|
|
32
|
-
- `install` copies checksum-verified files into the local Goal Maker install;
|
|
33
|
-
- `doctor` verifies installed extension files and required environment.
|
|
34
|
-
|
|
35
|
-
## Repo Shape
|
|
36
|
-
|
|
37
|
-
Keep the root relatively clean:
|
|
38
|
-
|
|
39
|
-
```text
|
|
40
|
-
goal-maker/ # installable skill payload
|
|
41
|
-
internal/ # package/dev infrastructure
|
|
42
|
-
extend/ # optional extension folders
|
|
43
|
-
examples/ # completed sample runs
|
|
44
|
-
extend/catalog.json # GitHub-hosted extension catalog
|
|
45
|
-
AGENTS.md # repo-specific agent guidance
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
`goal-maker/scripts/` stays inside the skill because installed skill docs call those scripts directly.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
# T003: Catalog CLI Implementation
|
|
2
|
-
|
|
3
|
-
Task: `T003`
|
|
4
|
-
Kind: `worker`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
Implemented the first catalog-backed `goal-maker extend` workflow.
|
|
10
|
-
|
|
11
|
-
Commit:
|
|
12
|
-
|
|
13
|
-
- `105850e Add extension catalog workflow`
|
|
14
|
-
|
|
15
|
-
## Shipped Behavior
|
|
16
|
-
|
|
17
|
-
- `goal-maker extend` reads the GitHub-hosted catalog and reports available/install/configuration state.
|
|
18
|
-
- `goal-maker extend <id>` shows extension details.
|
|
19
|
-
- `goal-maker extend install <id>` installs checksum-verified extension files.
|
|
20
|
-
- `goal-maker extend doctor [id]` validates installed extension files and required environment.
|
|
21
|
-
- Root `catalog.json` provides an initially empty GitHub-hosted catalog.
|
|
22
|
-
- README documents the extension discovery/install flow.
|
|
23
|
-
|
|
24
|
-
## Files Touched
|
|
25
|
-
|
|
26
|
-
At this point in the run, the CLI still lived under `goal-maker/bin/`. A later cleanup task moved it to `internal/cli/`.
|
|
27
|
-
|
|
28
|
-
- `README.md`
|
|
29
|
-
- `catalog.json`
|
|
30
|
-
- `goal-maker/bin/goal-maker.mjs`
|
|
31
|
-
- `goal-maker/test/goal-maker-cli.test.mjs`
|
|
32
|
-
- `package.json`
|
|
33
|
-
|
|
34
|
-
## Verification
|
|
35
|
-
|
|
36
|
-
Commands passed:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm run check
|
|
40
|
-
git diff --check
|
|
41
|
-
node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
|
|
42
|
-
npm publish --dry-run --json
|
|
43
|
-
```
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# T004: Root Extend Folder
|
|
2
|
-
|
|
3
|
-
Task: `T004`
|
|
4
|
-
Kind: `pm`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
Added a visible root `extend/` folder with documentation so GitHub shows the extension surface even before real extensions exist.
|
|
10
|
-
|
|
11
|
-
Commit:
|
|
12
|
-
|
|
13
|
-
- `17c65c9 Document extension folder`
|
|
14
|
-
|
|
15
|
-
## Files Touched
|
|
16
|
-
|
|
17
|
-
- `README.md`
|
|
18
|
-
- `extend/README.md`
|
|
19
|
-
|
|
20
|
-
## Receipt Notes
|
|
21
|
-
|
|
22
|
-
The folder intentionally contains only documentation for now. Git cannot track an empty directory, and the product decision was to avoid bundling sample extensions until a real extension is ready.
|
|
23
|
-
|
|
24
|
-
The README now says extensions live under `extend/` and move through the GitHub-hosted `extend/catalog.json`.
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# T005: Skill Package Layout Cleanup
|
|
2
|
-
|
|
3
|
-
Task: `T005`
|
|
4
|
-
Kind: `worker`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
Separated package-only infrastructure from the installable skill payload while keeping the repo root clean.
|
|
10
|
-
|
|
11
|
-
Commit:
|
|
12
|
-
|
|
13
|
-
- `6faa5de Clean skill package layout`
|
|
14
|
-
|
|
15
|
-
## Files Touched
|
|
16
|
-
|
|
17
|
-
- `AGENTS.md`
|
|
18
|
-
- `CONTRIBUTING.md`
|
|
19
|
-
- `README.md`
|
|
20
|
-
- `extend/README.md`
|
|
21
|
-
- `goal-maker/SKILL.md`
|
|
22
|
-
- `goal-maker/bin/goal-maker.mjs` -> `internal/cli/goal-maker.mjs`
|
|
23
|
-
- `goal-maker/test/*.test.mjs` -> `internal/test/*.test.mjs`
|
|
24
|
-
- `package.json`
|
|
25
|
-
|
|
26
|
-
## Result
|
|
27
|
-
|
|
28
|
-
The installable skill payload is now focused:
|
|
29
|
-
|
|
30
|
-
```text
|
|
31
|
-
goal-maker/
|
|
32
|
-
SKILL.md
|
|
33
|
-
agents/
|
|
34
|
-
scripts/
|
|
35
|
-
templates/
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
Package/dev infrastructure is grouped under:
|
|
39
|
-
|
|
40
|
-
```text
|
|
41
|
-
internal/
|
|
42
|
-
cli/
|
|
43
|
-
test/
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Root `AGENTS.md` now tells future agents to consider README, SKILL.md, templates, checker behavior, CLI UX, examples, package contents, and extension catalog design when improving this repo.
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# T006: Catalog Location
|
|
2
|
-
|
|
3
|
-
Task: `T006`
|
|
4
|
-
Kind: `worker`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
Moved the hosted catalog from the repo root to `extend/catalog.json`.
|
|
10
|
-
|
|
11
|
-
Commit:
|
|
12
|
-
|
|
13
|
-
- This example/catalog-location commit.
|
|
14
|
-
|
|
15
|
-
## Why
|
|
16
|
-
|
|
17
|
-
The repo root should stay relatively clean, and `catalog.json` is part of the extension surface. Keeping it under `extend/` makes the shape easier to understand:
|
|
18
|
-
|
|
19
|
-
```text
|
|
20
|
-
extend/
|
|
21
|
-
README.md
|
|
22
|
-
catalog.json
|
|
23
|
-
<extension-id>/
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
The npm CLI still reads the catalog from GitHub raw, now at:
|
|
27
|
-
|
|
28
|
-
```text
|
|
29
|
-
https://raw.githubusercontent.com/tolibear/goal-maker/main/extend/catalog.json
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Files Touched
|
|
33
|
-
|
|
34
|
-
- `catalog.json` -> `extend/catalog.json`
|
|
35
|
-
- `internal/cli/goal-maker.mjs`
|
|
36
|
-
- `README.md`
|
|
37
|
-
- `AGENTS.md`
|
|
38
|
-
- `extend/README.md`
|
|
39
|
-
- `examples/extend-catalog-workflow/`
|
|
40
|
-
|
|
41
|
-
## Verification
|
|
42
|
-
|
|
43
|
-
Commands to verify this task:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npm run check
|
|
47
|
-
git diff --check
|
|
48
|
-
node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
|
|
49
|
-
npm publish --dry-run --json
|
|
50
|
-
```
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
# T999: Completion Audit
|
|
2
|
-
|
|
3
|
-
Task: `T999`
|
|
4
|
-
Kind: `judge`
|
|
5
|
-
Status: `done`
|
|
6
|
-
|
|
7
|
-
## Decision
|
|
8
|
-
|
|
9
|
-
Complete.
|
|
10
|
-
|
|
11
|
-
## Audit
|
|
12
|
-
|
|
13
|
-
| Requirement | Evidence | Status |
|
|
14
|
-
|---|---|---|
|
|
15
|
-
| Use `extend` as the high-level surface | `extend/README.md`, `README.md`, `AGENTS.md` | Complete |
|
|
16
|
-
| Items inside `extend` are extensions | `extend/README.md`, `README.md`, catalog terminology | Complete |
|
|
17
|
-
| Avoid frequent npm releases for catalog updates | `extend/catalog.json` and default raw GitHub catalog URL | Complete |
|
|
18
|
-
| Keep extension discovery credential-free | `goal-maker extend` and `goal-maker extend <id>` inspect catalog metadata only | Complete |
|
|
19
|
-
| Verify installed extensions safely | checksum validation and `.installed.json` manifest in CLI implementation | Complete |
|
|
20
|
-
| Keep root reasonably clean | package/dev files grouped under `internal/` | Complete |
|
|
21
|
-
| Keep skill payload clean | `goal-maker/` contains skill, agents, scripts, and templates only | Complete |
|
|
22
|
-
| Teach future agents about improvement surfaces | root `AGENTS.md` and SKILL.md note | Complete |
|
|
23
|
-
|
|
24
|
-
## Verification
|
|
25
|
-
|
|
26
|
-
Commands passed during the implementation tranche:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npm run check
|
|
30
|
-
git diff --check
|
|
31
|
-
node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
|
|
32
|
-
npm publish --dry-run --json
|
|
33
|
-
node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
The final state is reviewable and maps to actual commits rather than simulated history.
|
|
@@ -1,327 +0,0 @@
|
|
|
1
|
-
# Goal Maker v2 state.yaml
|
|
2
|
-
# Board truth lives here. goal.md is the editable charter; notes/ holds long receipts only.
|
|
3
|
-
|
|
4
|
-
version: 2
|
|
5
|
-
|
|
6
|
-
goal:
|
|
7
|
-
title: "Extend Catalog Workflow"
|
|
8
|
-
slug: "extend-catalog-workflow"
|
|
9
|
-
kind: open_ended
|
|
10
|
-
tranche: "Design and implement the extension catalog workflow, root extend surface, and clean package/skill layout."
|
|
11
|
-
status: done
|
|
12
|
-
|
|
13
|
-
rules:
|
|
14
|
-
pm_owns_state: true
|
|
15
|
-
one_active_task: true
|
|
16
|
-
max_write_workers: 1
|
|
17
|
-
no_implementation_without_worker_or_pm_task: true
|
|
18
|
-
no_completion_without_judge_or_pm_audit: true
|
|
19
|
-
|
|
20
|
-
agents:
|
|
21
|
-
scout: installed
|
|
22
|
-
worker: installed
|
|
23
|
-
judge: installed
|
|
24
|
-
|
|
25
|
-
active_task: null
|
|
26
|
-
|
|
27
|
-
tasks:
|
|
28
|
-
- id: T001
|
|
29
|
-
type: scout
|
|
30
|
-
assignee: Scout
|
|
31
|
-
status: done
|
|
32
|
-
reasoning_hint: high
|
|
33
|
-
objective: "Map the product vocabulary, extension surfaces, catalog strategy, and repo boundaries for optional Goal Maker extensions."
|
|
34
|
-
inputs:
|
|
35
|
-
- README.md
|
|
36
|
-
- package.json
|
|
37
|
-
- goal-maker/SKILL.md
|
|
38
|
-
- goal-maker/scripts/check-goal-state.mjs
|
|
39
|
-
- docs/goals/board-publishing-surfaces/goal.md
|
|
40
|
-
constraints:
|
|
41
|
-
- "Read-only."
|
|
42
|
-
- "Do not implement."
|
|
43
|
-
- "Treat external services as generated views, not board truth."
|
|
44
|
-
- "Use extend as the high-level concept and extensions as item names."
|
|
45
|
-
expected_output:
|
|
46
|
-
- "Recommended vocabulary."
|
|
47
|
-
- "Catalog and extension repo shape."
|
|
48
|
-
- "Candidate implementation tasks."
|
|
49
|
-
receipt:
|
|
50
|
-
result: done
|
|
51
|
-
note: notes/T001-extension-model-map.md
|
|
52
|
-
summary: "Mapped `extend/` as the optional extension surface, `extend/catalog.json` as the GitHub-hosted catalog, and package/dev internals as separate from the installable skill payload."
|
|
53
|
-
evidence:
|
|
54
|
-
- README.md
|
|
55
|
-
- package.json
|
|
56
|
-
- goal-maker/SKILL.md
|
|
57
|
-
- goal-maker/scripts/check-goal-state.mjs
|
|
58
|
-
spawned_tasks:
|
|
59
|
-
- T002
|
|
60
|
-
- id: T002
|
|
61
|
-
type: judge
|
|
62
|
-
assignee: Judge
|
|
63
|
-
status: done
|
|
64
|
-
reasoning_hint: high
|
|
65
|
-
objective: "Choose the extension vocabulary, catalog source, CLI shape, and repo layout before implementation."
|
|
66
|
-
inputs:
|
|
67
|
-
- "T001 receipt"
|
|
68
|
-
- examples/extend-catalog-workflow/notes/T001-extension-model-map.md
|
|
69
|
-
constraints:
|
|
70
|
-
- "Do not implement."
|
|
71
|
-
- "Preserve Goal Maker's local-first model."
|
|
72
|
-
- "Keep the root relatively clean."
|
|
73
|
-
- "Avoid browse/list/show as separate user concepts."
|
|
74
|
-
expected_output:
|
|
75
|
-
- "Decision on extension language."
|
|
76
|
-
- "Decision on catalog hosting."
|
|
77
|
-
- "First implementation tranche."
|
|
78
|
-
receipt:
|
|
79
|
-
result: done
|
|
80
|
-
decision: "Use root `extend/`, `extend/catalog.json`, and `goal-maker extend` as the single discovery/details command; group package-only CLI and tests under `internal/` while keeping skill runtime scripts inside `goal-maker/scripts/`."
|
|
81
|
-
note: notes/T002-architecture-decision.md
|
|
82
|
-
evidence:
|
|
83
|
-
- examples/extend-catalog-workflow/notes/T001-extension-model-map.md
|
|
84
|
-
- README.md
|
|
85
|
-
- package.json
|
|
86
|
-
next_allowed_task: T003
|
|
87
|
-
- id: T003
|
|
88
|
-
type: worker
|
|
89
|
-
assignee: Worker
|
|
90
|
-
status: done
|
|
91
|
-
reasoning_hint: medium
|
|
92
|
-
objective: "Implement the first catalog-backed `goal-maker extend` workflow."
|
|
93
|
-
allowed_files:
|
|
94
|
-
- README.md
|
|
95
|
-
- catalog.json
|
|
96
|
-
- goal-maker/bin/goal-maker.mjs
|
|
97
|
-
- goal-maker/test/goal-maker-cli.test.mjs
|
|
98
|
-
- package.json
|
|
99
|
-
verify:
|
|
100
|
-
- npm run check
|
|
101
|
-
- git diff --check
|
|
102
|
-
- node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
|
|
103
|
-
- npm publish --dry-run --json
|
|
104
|
-
stop_if:
|
|
105
|
-
- "Need provider credentials."
|
|
106
|
-
- "Need files outside allowed_files."
|
|
107
|
-
- "Catalog or extension semantics become ambiguous."
|
|
108
|
-
- "Verification fails twice."
|
|
109
|
-
receipt:
|
|
110
|
-
result: done
|
|
111
|
-
changed_files:
|
|
112
|
-
- README.md
|
|
113
|
-
- catalog.json
|
|
114
|
-
- goal-maker/bin/goal-maker.mjs
|
|
115
|
-
- goal-maker/test/goal-maker-cli.test.mjs
|
|
116
|
-
- package.json
|
|
117
|
-
commands:
|
|
118
|
-
- cmd: npm run check
|
|
119
|
-
status: pass
|
|
120
|
-
- cmd: git diff --check
|
|
121
|
-
status: pass
|
|
122
|
-
- cmd: node goal-maker/bin/goal-maker.mjs extend --catalog-url catalog.json --json
|
|
123
|
-
status: pass
|
|
124
|
-
- cmd: npm publish --dry-run --json
|
|
125
|
-
status: pass
|
|
126
|
-
summary: "Implemented catalog-backed `goal-maker extend`, root `catalog.json`, checksum-verified extension install, extension doctor checks, and CLI test coverage."
|
|
127
|
-
note: notes/T003-implementation-summary.md
|
|
128
|
-
commits:
|
|
129
|
-
- 105850e
|
|
130
|
-
spawned_tasks:
|
|
131
|
-
- T004
|
|
132
|
-
- id: T004
|
|
133
|
-
type: pm
|
|
134
|
-
assignee: PM
|
|
135
|
-
status: done
|
|
136
|
-
reasoning_hint: medium
|
|
137
|
-
objective: "Add a visible root `extend/` folder without bundling placeholder extensions."
|
|
138
|
-
inputs:
|
|
139
|
-
- "T002 decision"
|
|
140
|
-
- "T003 receipt"
|
|
141
|
-
- "Owner feedback that the repo should show an `/extend` folder."
|
|
142
|
-
constraints:
|
|
143
|
-
- "Do not add fake bundled extensions."
|
|
144
|
-
- "Keep extensions as subfolders under root `extend/`."
|
|
145
|
-
- "Keep npm catalog behavior GitHub-hosted."
|
|
146
|
-
expected_output:
|
|
147
|
-
- "Root extend folder with documentation."
|
|
148
|
-
- "README wording that points to the extension surface."
|
|
149
|
-
receipt:
|
|
150
|
-
result: done
|
|
151
|
-
summary: "Added root `extend/README.md` so the repo has a visible extension surface while keeping the catalog empty until real extensions ship."
|
|
152
|
-
note: notes/T004-root-extend-folder.md
|
|
153
|
-
changed_files:
|
|
154
|
-
- README.md
|
|
155
|
-
- extend/README.md
|
|
156
|
-
commands:
|
|
157
|
-
- cmd: npm run check
|
|
158
|
-
status: pass
|
|
159
|
-
commits:
|
|
160
|
-
- 17c65c9
|
|
161
|
-
spawned_tasks:
|
|
162
|
-
- T005
|
|
163
|
-
- id: T005
|
|
164
|
-
type: worker
|
|
165
|
-
assignee: Worker
|
|
166
|
-
status: done
|
|
167
|
-
reasoning_hint: medium
|
|
168
|
-
objective: "Move package-only CLI/tests out of the installable skill folder and add repo-specific agent guidance."
|
|
169
|
-
allowed_files:
|
|
170
|
-
- AGENTS.md
|
|
171
|
-
- CONTRIBUTING.md
|
|
172
|
-
- README.md
|
|
173
|
-
- extend/README.md
|
|
174
|
-
- goal-maker/SKILL.md
|
|
175
|
-
- goal-maker/bin/goal-maker.mjs
|
|
176
|
-
- goal-maker/test/check-goal-state.test.mjs
|
|
177
|
-
- goal-maker/test/goal-maker-cli.test.mjs
|
|
178
|
-
- internal/cli/goal-maker.mjs
|
|
179
|
-
- internal/test/check-goal-state.test.mjs
|
|
180
|
-
- internal/test/goal-maker-cli.test.mjs
|
|
181
|
-
- package.json
|
|
182
|
-
verify:
|
|
183
|
-
- npm run check
|
|
184
|
-
- git diff --check
|
|
185
|
-
- tmp=$(mktemp -d); node internal/cli/goal-maker.mjs install --codex-home "$tmp"; node internal/cli/goal-maker.mjs doctor --codex-home "$tmp"; rm -rf "$tmp"
|
|
186
|
-
- npm publish --dry-run --json
|
|
187
|
-
stop_if:
|
|
188
|
-
- "Need to move skill runtime scripts out of `goal-maker/scripts/`."
|
|
189
|
-
- "Need root folders beyond `internal/`."
|
|
190
|
-
- "Verification fails twice."
|
|
191
|
-
receipt:
|
|
192
|
-
result: done
|
|
193
|
-
changed_files:
|
|
194
|
-
- AGENTS.md
|
|
195
|
-
- CONTRIBUTING.md
|
|
196
|
-
- README.md
|
|
197
|
-
- extend/README.md
|
|
198
|
-
- goal-maker/SKILL.md
|
|
199
|
-
- internal/cli/goal-maker.mjs
|
|
200
|
-
- internal/test/check-goal-state.test.mjs
|
|
201
|
-
- internal/test/goal-maker-cli.test.mjs
|
|
202
|
-
- package.json
|
|
203
|
-
commands:
|
|
204
|
-
- cmd: npm run check
|
|
205
|
-
status: pass
|
|
206
|
-
- cmd: git diff --check
|
|
207
|
-
status: pass
|
|
208
|
-
- cmd: tmp=$(mktemp -d); node internal/cli/goal-maker.mjs install --codex-home "$tmp"; node internal/cli/goal-maker.mjs doctor --codex-home "$tmp"; rm -rf "$tmp"
|
|
209
|
-
status: pass
|
|
210
|
-
- cmd: npm publish --dry-run --json
|
|
211
|
-
status: pass
|
|
212
|
-
summary: "Moved package-only CLI/tests under `internal/`, removed `goal-maker/bin` and `goal-maker/test` from the skill payload, added root `AGENTS.md`, and updated docs/package paths."
|
|
213
|
-
note: notes/T005-layout-cleanup.md
|
|
214
|
-
commits:
|
|
215
|
-
- 6faa5de
|
|
216
|
-
spawned_tasks:
|
|
217
|
-
- T006
|
|
218
|
-
- id: T006
|
|
219
|
-
type: worker
|
|
220
|
-
assignee: Worker
|
|
221
|
-
status: done
|
|
222
|
-
reasoning_hint: low
|
|
223
|
-
objective: "Move the hosted catalog into `extend/` and update the CLI/default docs to match."
|
|
224
|
-
allowed_files:
|
|
225
|
-
- AGENTS.md
|
|
226
|
-
- README.md
|
|
227
|
-
- extend/README.md
|
|
228
|
-
- catalog.json
|
|
229
|
-
- extend/catalog.json
|
|
230
|
-
- internal/cli/goal-maker.mjs
|
|
231
|
-
- package.json
|
|
232
|
-
- examples/extend-catalog-workflow
|
|
233
|
-
verify:
|
|
234
|
-
- npm run check
|
|
235
|
-
- git diff --check
|
|
236
|
-
- node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
|
|
237
|
-
- npm publish --dry-run --json
|
|
238
|
-
stop_if:
|
|
239
|
-
- "Need to add bundled extensions."
|
|
240
|
-
- "Need a separate extension registry."
|
|
241
|
-
- "Verification fails twice."
|
|
242
|
-
receipt:
|
|
243
|
-
result: done
|
|
244
|
-
changed_files:
|
|
245
|
-
- AGENTS.md
|
|
246
|
-
- README.md
|
|
247
|
-
- extend/README.md
|
|
248
|
-
- extend/catalog.json
|
|
249
|
-
- internal/cli/goal-maker.mjs
|
|
250
|
-
- package.json
|
|
251
|
-
- examples/extend-catalog-workflow/goal.md
|
|
252
|
-
- examples/extend-catalog-workflow/state.yaml
|
|
253
|
-
- examples/extend-catalog-workflow/notes/T006-catalog-location.md
|
|
254
|
-
commands:
|
|
255
|
-
- cmd: npm run check
|
|
256
|
-
status: pass
|
|
257
|
-
- cmd: git diff --check
|
|
258
|
-
status: pass
|
|
259
|
-
- cmd: node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
|
|
260
|
-
status: pass
|
|
261
|
-
- cmd: npm publish --dry-run --json
|
|
262
|
-
status: pass
|
|
263
|
-
summary: "Moved the GitHub-hosted catalog into `extend/catalog.json`, updated the CLI default raw URL, and adjusted docs/example references."
|
|
264
|
-
note: notes/T006-catalog-location.md
|
|
265
|
-
commits:
|
|
266
|
-
- "this example/catalog-location commit"
|
|
267
|
-
spawned_tasks:
|
|
268
|
-
- T999
|
|
269
|
-
- id: T999
|
|
270
|
-
type: judge
|
|
271
|
-
assignee: Judge
|
|
272
|
-
status: done
|
|
273
|
-
reasoning_hint: high
|
|
274
|
-
objective: "Audit whether the extension catalog and layout cleanup tranche is complete."
|
|
275
|
-
inputs:
|
|
276
|
-
- "All done task receipts"
|
|
277
|
-
- "Last verification"
|
|
278
|
-
- "Current package dry run"
|
|
279
|
-
constraints:
|
|
280
|
-
- "Do not implement."
|
|
281
|
-
- "Completion requires evidence from actual commits and verification commands."
|
|
282
|
-
expected_output:
|
|
283
|
-
- "complete | not_complete"
|
|
284
|
-
- "missing evidence"
|
|
285
|
-
- "next task if not complete"
|
|
286
|
-
receipt:
|
|
287
|
-
result: done
|
|
288
|
-
decision: complete
|
|
289
|
-
note: notes/T999-completion-audit.md
|
|
290
|
-
summary: "The tranche is complete: extension vocabulary, GitHub-hosted catalog, `extend` CLI workflow, root extension surface, package layout cleanup, and repo agent guidance are implemented and verified."
|
|
291
|
-
evidence:
|
|
292
|
-
- examples/extend-catalog-workflow/goal.md
|
|
293
|
-
- examples/extend-catalog-workflow/notes/T001-extension-model-map.md
|
|
294
|
-
- examples/extend-catalog-workflow/notes/T002-architecture-decision.md
|
|
295
|
-
- examples/extend-catalog-workflow/notes/T003-implementation-summary.md
|
|
296
|
-
- examples/extend-catalog-workflow/notes/T004-root-extend-folder.md
|
|
297
|
-
- examples/extend-catalog-workflow/notes/T005-layout-cleanup.md
|
|
298
|
-
- examples/extend-catalog-workflow/notes/T006-catalog-location.md
|
|
299
|
-
- AGENTS.md
|
|
300
|
-
- extend/catalog.json
|
|
301
|
-
- extend/README.md
|
|
302
|
-
- internal/cli/goal-maker.mjs
|
|
303
|
-
- package.json
|
|
304
|
-
verification:
|
|
305
|
-
- cmd: npm run check
|
|
306
|
-
status: pass
|
|
307
|
-
- cmd: git diff --check
|
|
308
|
-
status: pass
|
|
309
|
-
- cmd: npm publish --dry-run --json
|
|
310
|
-
status: pass
|
|
311
|
-
- cmd: node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
|
|
312
|
-
status: pass
|
|
313
|
-
|
|
314
|
-
checks:
|
|
315
|
-
dirty_fingerprint: unknown
|
|
316
|
-
last_verification:
|
|
317
|
-
result: pass
|
|
318
|
-
task: T999
|
|
319
|
-
commands:
|
|
320
|
-
- cmd: npm run check
|
|
321
|
-
status: pass
|
|
322
|
-
- cmd: git diff --check
|
|
323
|
-
status: pass
|
|
324
|
-
- cmd: npm publish --dry-run --json
|
|
325
|
-
status: pass
|
|
326
|
-
- cmd: node goal-maker/scripts/check-goal-state.mjs examples/extend-catalog-workflow/state.yaml
|
|
327
|
-
status: pass
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# PR Handoff: Add GitHub PR Workflow Extension
|
|
2
|
-
|
|
3
|
-
## Suggested Title
|
|
4
|
-
|
|
5
|
-
Add GitHub PR workflow extension
|
|
6
|
-
|
|
7
|
-
## Summary
|
|
8
|
-
|
|
9
|
-
- Adds `github-pr-workflow` as a cataloged Goal Maker extension.
|
|
10
|
-
- Documents a local-first workflow for turning goal receipts into GitHub PR handoff text.
|
|
11
|
-
- Keeps `state.yaml` authoritative and treats GitHub PR content as generated review context.
|
|
12
|
-
|
|
13
|
-
## Goal Context
|
|
14
|
-
|
|
15
|
-
- Original request: `$goal-maker add a new extension to goal-maker`
|
|
16
|
-
- Target outcome: a discoverable GitHub PR workflow integration extension with catalog metadata, docs, and example proof.
|
|
17
|
-
- Completion proof: catalog entry, extension documentation, example artifact, and local checks.
|
|
18
|
-
|
|
19
|
-
## Changed Files
|
|
20
|
-
|
|
21
|
-
- `extend/catalog.json`
|
|
22
|
-
- `extend/README.md`
|
|
23
|
-
- `extend/github-pr-workflow/README.md`
|
|
24
|
-
- `extend/github-pr-workflow/extension.yaml`
|
|
25
|
-
- `examples/github-pr-workflow-extension/pr-handoff.md`
|
|
26
|
-
- `README.md`
|
|
27
|
-
|
|
28
|
-
## Verification
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
node internal/cli/goal-maker.mjs extend --catalog-url extend/catalog.json --json
|
|
32
|
-
node internal/cli/goal-maker.mjs extend github-pr-workflow --catalog-url extend/catalog.json --json
|
|
33
|
-
node internal/cli/goal-maker.mjs extend install github-pr-workflow --catalog-url extend/catalog.json --dry-run --json
|
|
34
|
-
npm run check
|
|
35
|
-
git diff --check
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Review Notes
|
|
39
|
-
|
|
40
|
-
- This is a local handoff workflow, not live GitHub automation.
|
|
41
|
-
- No GitHub token is required for discovery, details, or install dry-run.
|
|
42
|
-
- Future live PR creation should be a separate extension or explicitly approved follow-up task.
|
|
43
|
-
|
|
44
|
-
## Follow-Up
|
|
45
|
-
|
|
46
|
-
- Consider a later command or template generator only after the cataloged workflow proves useful.
|