Skip to content

Commit 1bd90de

Browse files
Spike Testclaude
andcommitted
Check in prior-session working artifacts (shaping notes, reviews, validation transcripts, temp plugin scaffold)
Ignore the repo-root spacedock launcher binary (build output). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 8e66ead commit 1bd90de

24 files changed

Lines changed: 570 additions & 0 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@ dist/
2222
# profile; .claude holds Claude Code's agent worktrees (full repo checkouts).
2323
.safehouse
2424
.claude/
25+
/spacedock

package-lock.json

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

progress.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Progress
2+
3+
## 2026-06-19 — 0223-pi-dispatch-contract sprint (Shaping FO session on z-ai/glm-5.2)
4+
5+
### Current state
6+
Sprint `0223-pi-dispatch-contract` — 3 members (re-carved from 4):
7+
- `eq` `pi-install-managed-skill-placement` (ideation) — merged task, supersedes archived `k8t`+`2m1`
8+
- `bdt` `pi-dispatch-model-stamping` (ideation)
9+
- `b2` `pi-back-channel-dispatch` (capstone, ideation)
10+
11+
### Staff reviews
12+
- Review #1 (`3adf00ee`): found child-cwd blocker + 2 minor gaps → all closed by re-carve
13+
- Review #2 (`efff49c9`): found 7 gaps (1 spec, 6 doc) → closing in progress
14+
15+
### Gap closure status (staff review #2)
16+
- [x] Gap 1 (`eq` repoRoot source) — closed via fold-in commit `e862e42e`; resolution (a): retire repo-path Stat checks, add `spacedockPackageOK`, remove cwd fallback; AC-3 revised
17+
- [ ] Gap 6 (`b2` fold-in AC-2 sub-bullet reconciliation) — parallel fold-in dispatched (run in flight)
18+
- [ ] Gaps 2–5, 7 (index: Q11/Q12 rewrite, Sequencing section, DoD Proven-by items, Q3/Q9/Q13 cosmetics) — Shaping FO to fix inline
19+
20+
### Recent commits
21+
- `e862e42e` pi-install-managed-skill-placement: staff review #2 fold-in — close gap 1
22+
- `cb078d10` (peer) pi-back-channel-dispatch: gap-1 re-check — install-managed placement removes child-cwd seam
23+
- `75469bb5` pi-install-managed-skill-placement: ideation — mechanism confirmed, spike PASSED
24+
- `b2f2cbf3` (main) sprint: 0223 re-carve — 3 members

reviews/nt-ideation-review-opus.md

Lines changed: 84 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## Review
2+
3+
- Correct:
4+
- `spacedock pi` is registered and routes through Pi-native extension/skill paths, not Claude/Codex plugin/team tools. Evidence: `internal/cli/cli.go:196-219`, `internal/cli/pi.go:68-76`, `internal/cli/pi_frontdoor_test.go:53-97`.
5+
- Fixback commit `3bcaf487` is narrow and appropriate: it only updates the live smoke prompt/test for the exact required heading in `internal/ensigncycle/pi_live_runner_test.go`.
6+
- Cheap package tests passed locally: `go test ./internal/cli ./internal/ensigncycle -count=1`.
7+
8+
- Material:
9+
- None found.
10+
11+
- Important:
12+
- `spacedock pi` and `install --host pi` treat the runtime as ready even when Pi auth is missing. `checkPiRuntime` records auth at `internal/cli/pi.go:247-250`, but `piRuntimeLaunchReady` excludes `authOK` at `internal/cli/pi.go:258-259`. `runPi` gates launch on that incomplete readiness at `internal/cli/pi.go:61-66`, and `runInitWithPi` prints `Pi runtime ready` on the same incomplete predicate at `internal/cli/pi.go:93-96`. The test fixture also encodes this gap by asserting ready without adding auth to `statOK` at `internal/cli/pi_frontdoor_test.go:108-111`. This conflicts with the path/auth handling goal and the install instructions that say authentication is required.
13+
- `--plugin-dir` is now accepted and silently stripped for non-Pi install/doctor paths. `parsePiSetupArgs` accepts `--plugin-dir` before host dispatch, then non-Pi paths call `stripPluginDirArg` at `internal/cli/pi.go:89-90`. This changes existing Claude/Codex behavior from “unknown argument” to “ignored”, which weakens compatibility and can hide operator mistakes such as `spacedock install --plugin-dir ./checkout`.
14+
15+
- Polish:
16+
- Top-level help still describes `doctor` as checking “the installed plugin” for all hosts, including Pi, even though Pi intentionally has no plugin marketplace path. See `internal/cli/help.go:16-22`. Consider host-neutral wording.
17+
18+
Recommendation: not ready to merge as-is. The fixback itself is sound, but I would require the auth readiness and non-Pi `--plugin-dir` compatibility issues to be fixed or explicitly accepted before merging. I did not write the requested review file because the task also specified read-only/no modifications.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Review
2+
3+
I did not write `/Users/clkao/git/spacedock-research/spacedock-v1/reviews/pi-runtime-support-staff-review.md` because the task explicitly says read-only / do not modify files.
4+
5+
- Correct:
6+
- Pi dispatch is cleanly contained in the existing dispatch builder host-mode seam, and preserves compatibility defaults (`host` defaults to `claude`; only `claude|codex|pi` accepted) in `internal/dispatch/build.go:103-109`.
7+
- Pi prompt/completion wording avoids Claude team-tool calls and uses dispatch-file + Pi subagent completion semantics in `internal/dispatch/build.go:410-435`, `internal/dispatch/build.go:452-465`, and `internal/dispatch/build.go:484-490`.
8+
- Offline tests cover banned Claude tool syntax and split-root entity path preservation in `internal/dispatch/build_pi_host_test.go:14-73` and `internal/dispatch/build_pi_host_test.go:75-124`.
9+
- `internal/piruntime` is small and appropriately separated from CLI/dispatch. The teams adapter maps lifecycle concepts to native `teams` actions, not Claude emulation, in `internal/piruntime/teams.go:24-46`.
10+
- Stale-completion protection is represented with epoch-scoped evidence and tested in `internal/piruntime/registry.go:64-87` and `internal/piruntime/registry_test.go:10-46`.
11+
- Live smoke harness is gated behind `//go:build live`, uses temp Pi config/session directories, copies auth into isolated Pi home, and asserts durable state/git evidence rather than transcript prose in `internal/ensigncycle/pi_live_runner_test.go:1-128`, `:200-230`.
12+
13+
- Material:
14+
- None found.
15+
16+
- Important:
17+
- `spacedock install --host pi` reports “Pi runtime ready” even when Pi auth is missing. `runInitWithPi` checks `piRuntimeLaunchReady` only (`internal/cli/pi.go:92-96`), and `piRuntimeLaunchReady` excludes `authOK` (`internal/cli/pi.go:258-264`). The test fixture for the “ready” install path also omits auth while expecting success (`internal/cli/pi_frontdoor_test.go:100-123`). This conflicts with the setup text that says authentication is required (`internal/cli/pi.go:102-108`) and with doctor’s health definition including auth. Recommendation: either include `authOK` in install/launch readiness or rename/report this as “resources present, auth missing” so users do not get a false ready state.
18+
- Docs are stale relative to the frontdoor UX commit: `docs/runtime-support.md:184` says “When `spacedock install --host pi` is added…”, but the branch now adds `install --host pi` and `doctor --host pi`. Update this section so runtime-support docs match the implemented CLI.
19+
20+
- Polish:
21+
- Registry persistence is direct `os.WriteFile` (`internal/piruntime/registry.go:105-116`). Good enough for the current unintegrated contract package, but if this registry becomes active runtime state, consider temp-file + rename to avoid partial JSON after crash/interruption.
22+
- `spacedock pi` launch readiness also ignores missing auth (`internal/cli/pi.go:60-66`, `internal/cli/pi.go:258-264`), so missing credentials may surface as a less actionable Pi runtime failure instead of the existing doctor report. This is related to the Important setup finding.
23+
24+
Validation run: targeted cheap tests passed:
25+
26+
```text
27+
go test ./internal/cli ./internal/dispatch ./internal/piruntime -count=1
28+
```
29+
30+
Recommendation: mergeable from an implementation/design standpoint after fixing the auth readiness/reporting inconsistency and stale docs. No material blocker found.

temp_plugin/marketplace.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "spacedock",
3+
"owner": {
4+
"name": "CL Kao"
5+
},
6+
"plugins": [
7+
{
8+
"name": "spacedock",
9+
"source": {
10+
"source": "url",
11+
"url": "https://github.com/spacedock-dev/spacedock.git",
12+
"ref": "next"
13+
},
14+
"description": "Turn directories of markdown files into structured workflows operated by AI agents",
15+
"version": "0.0.2026060301",
16+
"category": "workflow"
17+
}
18+
]
19+
}

temp_plugin/plugin.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"name": "spacedock",
3+
"version": "0.19.5",
4+
"description": "Turn directories of markdown files into structured workflows operated by AI agents",
5+
"author": {
6+
"name": "CL Kao"
7+
},
8+
"homepage": "https://github.com/spacedock-dev/spacedock",
9+
"repository": "https://github.com/spacedock-dev/spacedock",
10+
"license": "Apache-2.0",
11+
"keywords": [
12+
"workflow",
13+
"pipeline",
14+
"agents",
15+
"markdown",
16+
"automation"
17+
],
18+
"skills": "./skills/",
19+
"requires-contract": ">=1,<2",
20+
"interface": {
21+
"displayName": "Spacedock",
22+
"shortDescription": "Plain text workflows for AI agents",
23+
"longDescription": "Turn directories of markdown files into structured workflows operated by AI agents.",
24+
"developerName": "CL Kao",
25+
"category": "workflow",
26+
"capabilities": [
27+
"Interactive",
28+
"Write"
29+
],
30+
"websiteURL": "https://github.com/spacedock-dev/spacedock"
31+
}
32+
}

temp_plugin/skills

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../skills
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Validation: launcher-binary-path-passthrough ideation
2+
3+
## Summary
4+
5+
Updated the state entity `launcher-binary-path-passthrough/index.md` with a concrete compatibility-first ideation design for preserving the front-door launcher binary path in Claude/Codex sessions.
6+
7+
## Changed entity
8+
9+
- `docs/dev/.spacedock-state/launcher-binary-path-passthrough/index.md`
10+
11+
## Commit
12+
13+
- `da23f39f ideation: launcher binary path passthrough`
14+
15+
## Validation performed
16+
17+
- Read the existing entity and relevant front-door implementation surfaces (`internal/cli/frontdoor.go`, `internal/cli/host_exec.go`) to ground the design.
18+
- Inspected skill command surfaces with grep to identify bare `spacedock` instruction risk.
19+
- Reviewed the entity diff before committing.
20+
- Committed only `launcher-binary-path-passthrough/index.md` in the state checkout with the requested command shape.
21+
- Verified the state checkout has no remaining staged/unstaged changes for the target file after commit; unrelated pre-existing state dirt was not touched.
22+
23+
## Residual risks
24+
25+
- No product/source implementation was performed; this was an ideation-only task.
26+
- `context.md` and `plan.md` requested by the task were not present in the repository root at runtime.
27+
- The main repository has pre-existing untracked paths including `validation/`; this validation artifact is intentionally uncommitted because the task required committing only the entity path in the state checkout.

0 commit comments

Comments
 (0)