spine-cli 0.1.0__tar.gz
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.
- spine_cli-0.1.0/.agents/skills/build/SKILL.md +16 -0
- spine_cli-0.1.0/.agents/skills/doctor/SKILL.md +16 -0
- spine_cli-0.1.0/.agents/skills/eval/SKILL.md +17 -0
- spine_cli-0.1.0/.agents/skills/new/SKILL.md +18 -0
- spine_cli-0.1.0/.agents/skills/next/SKILL.md +18 -0
- spine_cli-0.1.0/.agents/skills/review/SKILL.md +23 -0
- spine_cli-0.1.0/.agents/skills/wayfind/SKILL.md +19 -0
- spine_cli-0.1.0/.claude/skills/build/SKILL.md +16 -0
- spine_cli-0.1.0/.claude/skills/doctor/SKILL.md +16 -0
- spine_cli-0.1.0/.claude/skills/eval/SKILL.md +17 -0
- spine_cli-0.1.0/.claude/skills/new/SKILL.md +18 -0
- spine_cli-0.1.0/.claude/skills/next/SKILL.md +18 -0
- spine_cli-0.1.0/.claude/skills/review/SKILL.md +23 -0
- spine_cli-0.1.0/.claude/skills/wayfind/SKILL.md +19 -0
- spine_cli-0.1.0/.cursor/skills/build/SKILL.md +16 -0
- spine_cli-0.1.0/.cursor/skills/doctor/SKILL.md +16 -0
- spine_cli-0.1.0/.cursor/skills/eval/SKILL.md +17 -0
- spine_cli-0.1.0/.cursor/skills/new/SKILL.md +18 -0
- spine_cli-0.1.0/.cursor/skills/next/SKILL.md +18 -0
- spine_cli-0.1.0/.cursor/skills/review/SKILL.md +23 -0
- spine_cli-0.1.0/.cursor/skills/wayfind/SKILL.md +19 -0
- spine_cli-0.1.0/.gitignore +7 -0
- spine_cli-0.1.0/AGENTS.md +16 -0
- spine_cli-0.1.0/CONTEXT.md +57 -0
- spine_cli-0.1.0/HANDOFF.md +21 -0
- spine_cli-0.1.0/LICENSE +21 -0
- spine_cli-0.1.0/PKG-INFO +161 -0
- spine_cli-0.1.0/README.md +36 -0
- spine_cli-0.1.0/docs/issue-tracker.md +17 -0
- spine_cli-0.1.0/docs/spine/README.md +19 -0
- spine_cli-0.1.0/docs/spine/contract.yaml +31 -0
- spine_cli-0.1.0/docs/spine/maps/map.md +11 -0
- spine_cli-0.1.0/docs/spine/tickets/01-dogfood-this-target.md +11 -0
- spine_cli-0.1.0/docs/spine/wires.yaml +26 -0
- spine_cli-0.1.0/docs/spine/work-items/02-software-proof-artifacts.md +13 -0
- spine_cli-0.1.0/docs/spine/work-items/03-doctor-rollups.md +13 -0
- spine_cli-0.1.0/docs/spine/work-items/04-binder-cli-flags.md +13 -0
- spine_cli-0.1.0/docs/spine/work-items/05-evolve-wire-tests.md +13 -0
- spine_cli-0.1.0/issues/01-name-the-toolkit.md +17 -0
- spine_cli-0.1.0/issues/02-license.md +14 -0
- spine_cli-0.1.0/issues/03-github-owner.md +14 -0
- spine_cli-0.1.0/issues/04-wayfinder-as-files.md +22 -0
- spine_cli-0.1.0/issues/05-two-tier-paths.md +20 -0
- spine_cli-0.1.0/issues/06-short-execution-machine.md +31 -0
- spine_cli-0.1.0/issues/07-cli-verb-surface.md +24 -0
- spine_cli-0.1.0/issues/08-python-uv-packaging.md +17 -0
- spine_cli-0.1.0/issues/09-binder-concern-table.md +18 -0
- spine_cli-0.1.0/issues/10-binder-skill-shape.md +17 -0
- spine_cli-0.1.0/issues/11-software-profile.md +17 -0
- spine_cli-0.1.0/issues/12-doctor-duties.md +15 -0
- spine_cli-0.1.0/issues/13-claim-policy.md +15 -0
- spine_cli-0.1.0/issues/14-init-and-stranger-install.md +17 -0
- spine_cli-0.1.0/issues/15-write-the-spec.md +15 -0
- spine_cli-0.1.0/issues/16-harness-skill-discovery.md +18 -0
- spine_cli-0.1.0/issues/17-packaging-and-name.md +16 -0
- spine_cli-0.1.0/map.md +57 -0
- spine_cli-0.1.0/pyproject.toml +35 -0
- spine_cli-0.1.0/research/16-harness-skill-discovery.md +173 -0
- spine_cli-0.1.0/research/17-packaging-and-name.md +127 -0
- spine_cli-0.1.0/spec.md +148 -0
- spine_cli-0.1.0/src/spine/__init__.py +3 -0
- spine_cli-0.1.0/src/spine/artifacts.py +257 -0
- spine_cli-0.1.0/src/spine/cli.py +108 -0
- spine_cli-0.1.0/src/spine/data/binder/build/SKILL.md +16 -0
- spine_cli-0.1.0/src/spine/data/binder/doctor/SKILL.md +16 -0
- spine_cli-0.1.0/src/spine/data/binder/eval/SKILL.md +17 -0
- spine_cli-0.1.0/src/spine/data/binder/new/SKILL.md +18 -0
- spine_cli-0.1.0/src/spine/data/binder/next/SKILL.md +18 -0
- spine_cli-0.1.0/src/spine/data/binder/review/SKILL.md +23 -0
- spine_cli-0.1.0/src/spine/data/binder/wayfind/SKILL.md +19 -0
- spine_cli-0.1.0/src/spine/data/contract.yaml +31 -0
- spine_cli-0.1.0/src/spine/data/wires.yaml +26 -0
- spine_cli-0.1.0/src/spine/doctor.py +72 -0
- spine_cli-0.1.0/src/spine/evolve.py +92 -0
- spine_cli-0.1.0/src/spine/initcmd.py +111 -0
- spine_cli-0.1.0/src/spine/model.py +93 -0
- spine_cli-0.1.0/src/spine/resources.py +14 -0
- spine_cli-0.1.0/tests/test_spine.py +237 -0
- spine_cli-0.1.0/uv.lock +147 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build
|
|
3
|
+
description: Implement a software work item in doing. Use when the item is claimed and status is doing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# build
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine claim docs/spine/work-items/NN-slug.md
|
|
10
|
+
spine set-status docs/spine/work-items/NN-slug.md doing
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Agents own content. CLI owns metadata. Install craft: `npx skills add mattpocock/skills -s implement -s tdd -s codebase-design -y`.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
doing (agent-drivable). Next: checking.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: Recover mechanical drift in a spine target. Use at session start and when files look wrong.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# doctor
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine doctor
|
|
10
|
+
spine evolve
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Doctor auto-fixes stale claims, CLI-owned links, and rollups. It reports unknown statuses, missing spec files, gitignore drift. Never rewrite content sections by hand to fake a fix.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
Recovery loop. Not a harness hook.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval
|
|
3
|
+
description: Check a software work item against acceptance. Use when status is checking.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# eval
|
|
7
|
+
|
|
8
|
+
Write proof under `.spine/evals/`. Then:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md reviewing
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Craft: `npx skills add mattpocock/skills -s qa -y`.
|
|
15
|
+
|
|
16
|
+
## Gate
|
|
17
|
+
checking (agent-drivable). Software profile requires this before done.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new
|
|
3
|
+
description: Capture a map ticket or work item via the spine CLI. Use when something new must be recorded in the target.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# new
|
|
7
|
+
|
|
8
|
+
Mint artifacts with the CLI. Do not hand-edit status, owner, claim, links, or numbers.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine new ticket --title "..." --type grilling
|
|
12
|
+
spine new work-item --title "..." --profile software
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft skills for interviewing live on skills.sh. Default wire: `mattpocock/skills` `grill-me` / `wayfinder` (`npx skills add mattpocock/skills -s grill-me -s wayfinder -y`). See `docs/spine/wires.yaml`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
creating-work-item is HITL. Tickets start `open`. Work items start `ready`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: next
|
|
3
|
+
description: Pick the next spine action from the map frontier and work-item board.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# next
|
|
7
|
+
|
|
8
|
+
Run `spine doctor` then `spine status`. Take the first open unblocked unclaimed ticket, or the work item whose status is the next gate.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine doctor
|
|
12
|
+
spine status
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft router (optional): `npx skills add mattpocock/skills -s ask-matt -s implement -y`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
Respect HITL: do not `set-status` to `reviewing` verdicts or mint work items without a human if the contract marks them HITL.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Review a software work item. Use when status is reviewing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# review
|
|
7
|
+
|
|
8
|
+
HITL verdict. Proof under `.spine/reviews/`. Pass:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md done
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Bounce:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
spine set-status docs/spine/work-items/NN-slug.md changes-requested
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Craft: `npx skills add mattpocock/skills -s code-review -y`.
|
|
21
|
+
|
|
22
|
+
## Gate
|
|
23
|
+
reviewing (HITL). Software profile requires this before done.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wayfind
|
|
3
|
+
description: Plan with a spine map and tickets. Use when the way to a destination is foggy or multi-session.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# wayfind
|
|
7
|
+
|
|
8
|
+
Planning lives on the map, not on the work item. Load `docs/spine/maps/`, work frontier tickets under `docs/spine/tickets/`. Claim a ticket with the CLI before work.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine status
|
|
12
|
+
spine new ticket --title "..." --type research
|
|
13
|
+
spine claim tickets/NN-slug.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Do not vendor Wayfinder. Install craft from skills.sh: `npx skills add mattpocock/skills -s wayfinder -s grilling -s domain-modeling -y`.
|
|
17
|
+
|
|
18
|
+
## Gate
|
|
19
|
+
No work-item status for planning. Create a work item at `ready` only when the way is clear.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build
|
|
3
|
+
description: Implement a software work item in doing. Use when the item is claimed and status is doing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# build
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine claim docs/spine/work-items/NN-slug.md
|
|
10
|
+
spine set-status docs/spine/work-items/NN-slug.md doing
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Agents own content. CLI owns metadata. Install craft: `npx skills add mattpocock/skills -s implement -s tdd -s codebase-design -y`.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
doing (agent-drivable). Next: checking.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: Recover mechanical drift in a spine target. Use at session start and when files look wrong.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# doctor
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine doctor
|
|
10
|
+
spine evolve
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Doctor auto-fixes stale claims, CLI-owned links, and rollups. It reports unknown statuses, missing spec files, gitignore drift. Never rewrite content sections by hand to fake a fix.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
Recovery loop. Not a harness hook.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval
|
|
3
|
+
description: Check a software work item against acceptance. Use when status is checking.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# eval
|
|
7
|
+
|
|
8
|
+
Write proof under `.spine/evals/`. Then:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md reviewing
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Craft: `npx skills add mattpocock/skills -s qa -y`.
|
|
15
|
+
|
|
16
|
+
## Gate
|
|
17
|
+
checking (agent-drivable). Software profile requires this before done.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new
|
|
3
|
+
description: Capture a map ticket or work item via the spine CLI. Use when something new must be recorded in the target.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# new
|
|
7
|
+
|
|
8
|
+
Mint artifacts with the CLI. Do not hand-edit status, owner, claim, links, or numbers.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine new ticket --title "..." --type grilling
|
|
12
|
+
spine new work-item --title "..." --profile software
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft skills for interviewing live on skills.sh. Default wire: `mattpocock/skills` `grill-me` / `wayfinder` (`npx skills add mattpocock/skills -s grill-me -s wayfinder -y`). See `docs/spine/wires.yaml`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
creating-work-item is HITL. Tickets start `open`. Work items start `ready`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: next
|
|
3
|
+
description: Pick the next spine action from the map frontier and work-item board.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# next
|
|
7
|
+
|
|
8
|
+
Run `spine doctor` then `spine status`. Take the first open unblocked unclaimed ticket, or the work item whose status is the next gate.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine doctor
|
|
12
|
+
spine status
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft router (optional): `npx skills add mattpocock/skills -s ask-matt -s implement -y`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
Respect HITL: do not `set-status` to `reviewing` verdicts or mint work items without a human if the contract marks them HITL.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Review a software work item. Use when status is reviewing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# review
|
|
7
|
+
|
|
8
|
+
HITL verdict. Proof under `.spine/reviews/`. Pass:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md done
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Bounce:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
spine set-status docs/spine/work-items/NN-slug.md changes-requested
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Craft: `npx skills add mattpocock/skills -s code-review -y`.
|
|
21
|
+
|
|
22
|
+
## Gate
|
|
23
|
+
reviewing (HITL). Software profile requires this before done.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wayfind
|
|
3
|
+
description: Plan with a spine map and tickets. Use when the way to a destination is foggy or multi-session.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# wayfind
|
|
7
|
+
|
|
8
|
+
Planning lives on the map, not on the work item. Load `docs/spine/maps/`, work frontier tickets under `docs/spine/tickets/`. Claim a ticket with the CLI before work.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine status
|
|
12
|
+
spine new ticket --title "..." --type research
|
|
13
|
+
spine claim tickets/NN-slug.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Do not vendor Wayfinder. Install craft from skills.sh: `npx skills add mattpocock/skills -s wayfinder -s grilling -s domain-modeling -y`.
|
|
17
|
+
|
|
18
|
+
## Gate
|
|
19
|
+
No work-item status for planning. Create a work item at `ready` only when the way is clear.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build
|
|
3
|
+
description: Implement a software work item in doing. Use when the item is claimed and status is doing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# build
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine claim docs/spine/work-items/NN-slug.md
|
|
10
|
+
spine set-status docs/spine/work-items/NN-slug.md doing
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Agents own content. CLI owns metadata. Install craft: `npx skills add mattpocock/skills -s implement -s tdd -s codebase-design -y`.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
doing (agent-drivable). Next: checking.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doctor
|
|
3
|
+
description: Recover mechanical drift in a spine target. Use at session start and when files look wrong.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# doctor
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
spine doctor
|
|
10
|
+
spine evolve
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Doctor auto-fixes stale claims, CLI-owned links, and rollups. It reports unknown statuses, missing spec files, gitignore drift. Never rewrite content sections by hand to fake a fix.
|
|
14
|
+
|
|
15
|
+
## Gate
|
|
16
|
+
Recovery loop. Not a harness hook.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval
|
|
3
|
+
description: Check a software work item against acceptance. Use when status is checking.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# eval
|
|
7
|
+
|
|
8
|
+
Write proof under `.spine/evals/`. Then:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md reviewing
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Craft: `npx skills add mattpocock/skills -s qa -y`.
|
|
15
|
+
|
|
16
|
+
## Gate
|
|
17
|
+
checking (agent-drivable). Software profile requires this before done.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: new
|
|
3
|
+
description: Capture a map ticket or work item via the spine CLI. Use when something new must be recorded in the target.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# new
|
|
7
|
+
|
|
8
|
+
Mint artifacts with the CLI. Do not hand-edit status, owner, claim, links, or numbers.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine new ticket --title "..." --type grilling
|
|
12
|
+
spine new work-item --title "..." --profile software
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft skills for interviewing live on skills.sh. Default wire: `mattpocock/skills` `grill-me` / `wayfinder` (`npx skills add mattpocock/skills -s grill-me -s wayfinder -y`). See `docs/spine/wires.yaml`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
creating-work-item is HITL. Tickets start `open`. Work items start `ready`.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: next
|
|
3
|
+
description: Pick the next spine action from the map frontier and work-item board.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# next
|
|
7
|
+
|
|
8
|
+
Run `spine doctor` then `spine status`. Take the first open unblocked unclaimed ticket, or the work item whose status is the next gate.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine doctor
|
|
12
|
+
spine status
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Craft router (optional): `npx skills add mattpocock/skills -s ask-matt -s implement -y`.
|
|
16
|
+
|
|
17
|
+
## Gate
|
|
18
|
+
Respect HITL: do not `set-status` to `reviewing` verdicts or mint work items without a human if the contract marks them HITL.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review
|
|
3
|
+
description: Review a software work item. Use when status is reviewing.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# review
|
|
7
|
+
|
|
8
|
+
HITL verdict. Proof under `.spine/reviews/`. Pass:
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine set-status docs/spine/work-items/NN-slug.md done
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Bounce:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
spine set-status docs/spine/work-items/NN-slug.md changes-requested
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Craft: `npx skills add mattpocock/skills -s code-review -y`.
|
|
21
|
+
|
|
22
|
+
## Gate
|
|
23
|
+
reviewing (HITL). Software profile requires this before done.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wayfind
|
|
3
|
+
description: Plan with a spine map and tickets. Use when the way to a destination is foggy or multi-session.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# wayfind
|
|
7
|
+
|
|
8
|
+
Planning lives on the map, not on the work item. Load `docs/spine/maps/`, work frontier tickets under `docs/spine/tickets/`. Claim a ticket with the CLI before work.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
spine status
|
|
12
|
+
spine new ticket --title "..." --type research
|
|
13
|
+
spine claim tickets/NN-slug.md
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Do not vendor Wayfinder. Install craft from skills.sh: `npx skills add mattpocock/skills -s wayfinder -s grilling -s domain-modeling -y`.
|
|
17
|
+
|
|
18
|
+
## Gate
|
|
19
|
+
No work-item status for planning. Create a work item at `ready` only when the way is clear.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Implementation notes (this repo is also the first target)
|
|
2
|
+
|
|
3
|
+
Implement spine from [spec.md](spec.md) plus this file. Product code lives here now.
|
|
4
|
+
|
|
5
|
+
## Every session
|
|
6
|
+
|
|
7
|
+
1. Read [spec.md](spec.md), [CONTEXT.md](CONTEXT.md).
|
|
8
|
+
2. Verify: `uv run pytest`.
|
|
9
|
+
3. CLI owns metadata; agents own content. Binder skills never restate the contract.
|
|
10
|
+
4. Craft skills come from skills.sh (`npx skills add mattpocock/skills`), not vendored.
|
|
11
|
+
|
|
12
|
+
## Standing constraints
|
|
13
|
+
|
|
14
|
+
- Harness/agent/platform agnostic. No required plugin API.
|
|
15
|
+
- Auto-evolve: `spine evolve`. Self-recover: `spine doctor`.
|
|
16
|
+
- Do not edit `/Users/akshay/Development/generic-workflows`.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Spine
|
|
2
|
+
|
|
3
|
+
A public, harness-agnostic process spine. Planning and execution survive sessions as files in a target repo. This glossary is for the product; implementation detail does not belong here.
|
|
4
|
+
|
|
5
|
+
## Language
|
|
6
|
+
|
|
7
|
+
**Spine**:
|
|
8
|
+
The toolkit: a versioned contract, a CLI that owns metadata, binder skills, and a doctor. Installed into a target.
|
|
9
|
+
_Avoid_: Generic Workflows, plugin, pipeline-as-the-product
|
|
10
|
+
|
|
11
|
+
**Target**:
|
|
12
|
+
A git repository `spine` inits. Artifact files live here. They are the source of truth.
|
|
13
|
+
_Avoid_: host, workspace (ambiguous with the agent’s cwd)
|
|
14
|
+
|
|
15
|
+
**Map**:
|
|
16
|
+
The durable planning artifact in the target: destination, notes, decisions-so-far, fog, out of scope. Tickets are its children.
|
|
17
|
+
_Avoid_: board, PRD, roadmap
|
|
18
|
+
|
|
19
|
+
**Ticket**:
|
|
20
|
+
One decision or investigation on a map. Types: research, prototype, grilling, task.
|
|
21
|
+
_Avoid_: issue (overloaded with work item), card
|
|
22
|
+
|
|
23
|
+
**Work item**:
|
|
24
|
+
The durable execution artifact: status, owner, claim, links, next gate.
|
|
25
|
+
_Avoid_: task (overloaded with Wayfinder task tickets and Generic Workflows’ pipeline file), issue
|
|
26
|
+
|
|
27
|
+
**Contract**:
|
|
28
|
+
The versioned machine: statuses, transitions, gates, type profiles. Skills and the CLI reference it; they never restate it.
|
|
29
|
+
_Avoid_: lifecycle.json as a proper noun, config, schema (too generic)
|
|
30
|
+
|
|
31
|
+
**Binder**:
|
|
32
|
+
Concern → skill routing. Skills never restate the contract.
|
|
33
|
+
_Avoid_: router, catalog, palette (unless we later name the user-facing surface)
|
|
34
|
+
|
|
35
|
+
**CLI**:
|
|
36
|
+
Harness-agnostic command-line tool on PATH. It inits a target and is the only writer of machine-driving metadata.
|
|
37
|
+
_Avoid_: plugin, hook, wf.py
|
|
38
|
+
|
|
39
|
+
**Doctor**:
|
|
40
|
+
A CLI command that reports mechanical drift and may auto-fix it. Not a harness hook.
|
|
41
|
+
_Avoid_: health hook, UserPromptSubmit
|
|
42
|
+
|
|
43
|
+
**Software profile**:
|
|
44
|
+
A type profile on the same contract for code work (build / eval / review). Optional relative to the agnostic spine; in v1 spec.
|
|
45
|
+
_Avoid_: the pipeline, 16-status machine
|
|
46
|
+
|
|
47
|
+
**Claim**:
|
|
48
|
+
Solo-first lock on a work item (owner + stale release) so a second agent or human does not require a rewrite.
|
|
49
|
+
_Avoid_: assignee (tracker-specific), lock
|
|
50
|
+
|
|
51
|
+
**Spec tier**:
|
|
52
|
+
Checked-in artifact files in the target (maps, tickets, work items, decisions). Shared with clones.
|
|
53
|
+
_Avoid_: source of truth (the whole target-file set is SSoT, including local execution files on that machine)
|
|
54
|
+
|
|
55
|
+
**Execution tier**:
|
|
56
|
+
Gitignored local files (claims runtime, evals, handoffs, doctor output). Not required for a clone to be correct, required for a running session to resume on that machine.
|
|
57
|
+
_Avoid_: state, cache
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Handoff: spine implementation
|
|
2
|
+
|
|
3
|
+
Last updated: 2026-09-19
|
|
4
|
+
|
|
5
|
+
## Objective
|
|
6
|
+
|
|
7
|
+
v1 spine-cli from spec.md. Auto-evolvable, skills.sh wires, Matt Pocock default pack, doctor recovery.
|
|
8
|
+
|
|
9
|
+
## Current State
|
|
10
|
+
|
|
11
|
+
Working CLI. `uv run pytest` — 19 passed. Wheel packs binder + contract.
|
|
12
|
+
|
|
13
|
+
Software `checking → reviewing` needs `.spine/evals/` proof named for the item; `reviewing → done` needs `.spine/reviews/`. `spine wire --install` builds `npx skills add <pack> -s …` from `wires.yaml`. Doctor reports missing spec files (README, contract, wires, map) and gitignore drift (no auto-fix). Not published. GitHub not created.
|
|
14
|
+
|
|
15
|
+
Builder queue (SpineDoctor/Binder/Evolve/Serial) died with Metal GPU OOM; do not parallel-spawn local Qwen for this tree.
|
|
16
|
+
|
|
17
|
+
## Next Steps
|
|
18
|
+
|
|
19
|
+
- Create `ASabale/spine` and publish `spine-cli` only when asked.
|
|
20
|
+
- Do not edit generic-workflows.
|
|
21
|
+
- One small builder at a time if using the local model.
|
spine_cli-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ASabale
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTY OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|