kith-coord 0.0.0-stage → 0.1.0

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/CODE_OF_CONDUCT.md +5 -0
  3. package/CONTRIBUTING.md +47 -0
  4. package/LICENSE +21 -0
  5. package/README.md +143 -2
  6. package/SECURITY.md +13 -0
  7. package/assets/brand/avatar.png +0 -0
  8. package/assets/brand/avatar.svg +1 -0
  9. package/assets/brand/lockup.png +0 -0
  10. package/assets/brand/lockup.svg +1 -0
  11. package/assets/brand/mark.svg +1 -0
  12. package/assets/brand/readme-header.png +0 -0
  13. package/assets/brand/readme-header.svg +1 -0
  14. package/assets/brand/social-preview.png +0 -0
  15. package/assets/brand/social-preview.svg +1 -0
  16. package/assets/brand/wordmark.png +0 -0
  17. package/assets/brand/wordmark.svg +1 -0
  18. package/dist/cli/index.d.ts +1 -0
  19. package/dist/cli/index.js +5022 -0
  20. package/dist/cli/index.js.map +1 -0
  21. package/dist/command-worker.d.ts +2 -0
  22. package/dist/command-worker.js +30 -0
  23. package/dist/command-worker.js.map +1 -0
  24. package/dist/index.d.ts +983 -0
  25. package/dist/index.js +3708 -0
  26. package/dist/index.js.map +1 -0
  27. package/docs/architecture.md +37 -0
  28. package/docs/client-validation.md +51 -0
  29. package/docs/integrations.md +75 -0
  30. package/docs/path-and-scope-rules.md +45 -0
  31. package/docs/protocol/tools.v1.json +425 -0
  32. package/docs/protocol.md +35 -0
  33. package/docs/reliability.md +78 -0
  34. package/docs/roadmap.md +42 -0
  35. package/docs/sessions-and-mutexes.md +97 -0
  36. package/docs/usage.md +101 -0
  37. package/docs/validation/2026-10-19-claude-client-report.json +67 -0
  38. package/docs/validation/2026-10-19-claude-hook-report.json +33 -0
  39. package/docs/validation/2026-10-19-claude-hook-unavailable-report.json +20 -0
  40. package/docs/validation/2026-10-19-claude-mutex-report.json +34 -0
  41. package/docs/validation/2026-10-19-codex-client-report.json +55 -0
  42. package/docs/validation/2026-10-19-codex-mutex-report.json +33 -0
  43. package/docs/validation/2026-10-19-path-hardening-claude.json +32 -0
  44. package/docs/validation/2026-10-19-path-hardening-codex.json +30 -0
  45. package/docs/validation/2026-10-19-recovery-claude.json +35 -0
  46. package/docs/validation/2026-10-19-recovery-codex.json +33 -0
  47. package/docs/validation/2026-10-19-sqlite-runtime-report.json +50 -0
  48. package/docs/validation/2026-10-20-adoption-claude.json +35 -0
  49. package/docs/validation/2026-10-20-adoption-codex-first-attempt.json +20 -0
  50. package/docs/validation/2026-10-20-adoption-codex.json +73 -0
  51. package/docs/validation/2026-10-20-adoption-hook-failure.json +18 -0
  52. package/docs/validation/2026-10-20-subtraction-claude.json +35 -0
  53. package/docs/validation/2026-10-20-subtraction-codex.json +33 -0
  54. package/package.json +83 -4
@@ -0,0 +1,32 @@
1
+ {
2
+ "client": "claude",
3
+ "version": "2.1.301 (Claude Code)",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status"
17
+ ],
18
+ "hookDenialVerified": true,
19
+ "checks": [
20
+ "protected bytes unchanged",
21
+ "native edit",
22
+ "contract recorded",
23
+ "renewable MCP mutex command",
24
+ "verified integration",
25
+ "task completed",
26
+ "locks released",
27
+ "inherited owner preserved"
28
+ ]
29
+ }
30
+ ],
31
+ "passed": true
32
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "client": "codex",
3
+ "version": "codex-cli 0.163.0-alpha.10.2",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status"
17
+ ],
18
+ "checks": [
19
+ "protected bytes unchanged",
20
+ "native edit",
21
+ "contract recorded",
22
+ "renewable MCP mutex command",
23
+ "verified integration",
24
+ "task completed",
25
+ "locks released"
26
+ ]
27
+ }
28
+ ],
29
+ "passed": true
30
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "client": "claude",
3
+ "version": "2.1.301 (Claude Code)",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "hookDenialVerified": true,
21
+ "checks": [
22
+ "protected bytes unchanged",
23
+ "native edit",
24
+ "contract recorded",
25
+ "renewable MCP mutex command",
26
+ "failed verification and successful retry",
27
+ "verified integration",
28
+ "task completed",
29
+ "locks released",
30
+ "inherited owner preserved"
31
+ ]
32
+ }
33
+ ],
34
+ "passed": true
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "client": "codex",
3
+ "version": "codex-cli 0.163.0-alpha.10.2",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "checks": [
21
+ "protected bytes unchanged",
22
+ "native edit",
23
+ "contract recorded",
24
+ "renewable MCP mutex command",
25
+ "failed verification and successful retry",
26
+ "verified integration",
27
+ "task completed",
28
+ "locks released"
29
+ ]
30
+ }
31
+ ],
32
+ "passed": true
33
+ }
@@ -0,0 +1,50 @@
1
+ {
2
+ "date": "2026-10-19",
3
+ "scope": "SQLite capability compatibility; local macOS checks, hosted failure reproduction",
4
+ "hosted_before_fix": {
5
+ "run": "https://github.com/connorhriley/kith/actions/runs/39280488937",
6
+ "passed": [
7
+ "macos/22",
8
+ "macos/24",
9
+ "ubuntu/22",
10
+ "ubuntu/24"
11
+ ],
12
+ "failed": [
13
+ "macos/22.13.0",
14
+ "ubuntu/22.13.0"
15
+ ],
16
+ "cause": "no such module: fts5"
17
+ },
18
+ "local_runtimes": [
19
+ {
20
+ "node": "22.13.0",
21
+ "fts5": false,
22
+ "tests_passed": 78,
23
+ "tests_skipped": 2,
24
+ "skip_reason": "Restoration of an FTS5 index requires the unavailable module; fallback behavior is exercised.",
25
+ "package_consumer": "passed",
26
+ "two_mcp_clients": "passed"
27
+ },
28
+ {
29
+ "node": "22.23.3",
30
+ "fts5": true,
31
+ "tests_passed": 80,
32
+ "tests_skipped": 0
33
+ },
34
+ {
35
+ "node": "24.22.0",
36
+ "fts5": true,
37
+ "tests_passed": 80,
38
+ "tests_skipped": 0
39
+ }
40
+ ],
41
+ "real_cross_runtime_roundtrip": {
42
+ "result": "passed",
43
+ "sequence": [
44
+ "Create indexed state under Node 22.23.3",
45
+ "Update a contract and delete another under stock Node 22.13.0",
46
+ "Rebuild derived FTS index under Node 22.23.3 and verify only the updated contract remains"
47
+ ]
48
+ },
49
+ "hosted_after_fix": "Pending; inspect the final commit CI run for Linux/macOS validation."
50
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "client": "claude",
3
+ "version": "2.1.301 (Claude Code)",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "hookDenialVerified": true,
21
+ "checks": [
22
+ "protected bytes unchanged",
23
+ "native edit",
24
+ "contract recorded",
25
+ "renewable MCP mutex command",
26
+ "failed verification and successful retry",
27
+ "verified integration",
28
+ "task completed",
29
+ "locks released",
30
+ "inherited owner preserved"
31
+ ]
32
+ }
33
+ ],
34
+ "passed": true
35
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "client": "codex",
3
+ "version": "codex-cli 0.163.0-alpha.10.2",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": false,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex"
15
+ ],
16
+ "error": "Missing kith_complete_work; client exit zero is insufficient"
17
+ }
18
+ ],
19
+ "passed": false
20
+ }
@@ -0,0 +1,73 @@
1
+ {
2
+ "client": "codex",
3
+ "version": "codex-cli 0.163.0-alpha.10.2",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "toolOutcomes": [
21
+ {
22
+ "tool": "kith_begin_work",
23
+ "status": "failed",
24
+ "ok": false
25
+ },
26
+ {
27
+ "tool": "kith_begin_work",
28
+ "status": "completed",
29
+ "ok": true
30
+ },
31
+ {
32
+ "tool": "kith_record_file_edit",
33
+ "status": "completed"
34
+ },
35
+ {
36
+ "tool": "kith_run_with_mutex",
37
+ "status": "completed",
38
+ "ok": true,
39
+ "exitCode": 0
40
+ },
41
+ {
42
+ "tool": "kith_complete_work",
43
+ "status": "failed",
44
+ "ok": false
45
+ },
46
+ {
47
+ "tool": "kith_get_status",
48
+ "status": "completed"
49
+ },
50
+ {
51
+ "tool": "kith_complete_work",
52
+ "status": "completed",
53
+ "ok": true
54
+ },
55
+ {
56
+ "tool": "kith_get_status",
57
+ "status": "completed"
58
+ }
59
+ ],
60
+ "checks": [
61
+ "protected bytes unchanged",
62
+ "native edit",
63
+ "contract recorded",
64
+ "renewable MCP mutex command",
65
+ "failed verification and successful retry",
66
+ "verified integration",
67
+ "task completed",
68
+ "locks released"
69
+ ]
70
+ }
71
+ ],
72
+ "passed": true
73
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "client": "claude",
3
+ "version": "2.1.301 (Claude Code)",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "hook-failure",
9
+ "passed": true,
10
+ "checks": [
11
+ "native Write attempted once",
12
+ "tool denied",
13
+ "marker absent"
14
+ ]
15
+ }
16
+ ],
17
+ "passed": true
18
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "client": "claude",
3
+ "version": "2.1.301 (Claude Code)",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "hookDenialVerified": true,
21
+ "checks": [
22
+ "protected bytes unchanged",
23
+ "native edit",
24
+ "contract recorded",
25
+ "renewable MCP mutex command",
26
+ "failed verification and successful retry",
27
+ "verified integration",
28
+ "task completed",
29
+ "locks released",
30
+ "inherited owner preserved"
31
+ ]
32
+ }
33
+ ],
34
+ "passed": true
35
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "client": "codex",
3
+ "version": "codex-cli 0.163.0-alpha.10.2",
4
+ "platform": "darwin",
5
+ "node": "v22.23.3",
6
+ "scenarios": [
7
+ {
8
+ "scenario": "isolated",
9
+ "passed": true,
10
+ "tools": [
11
+ "kith_begin_work",
12
+ "kith_begin_work",
13
+ "kith_record_file_edit",
14
+ "kith_run_with_mutex",
15
+ "kith_complete_work",
16
+ "kith_get_status",
17
+ "kith_complete_work",
18
+ "kith_get_status"
19
+ ],
20
+ "checks": [
21
+ "protected bytes unchanged",
22
+ "native edit",
23
+ "contract recorded",
24
+ "renewable MCP mutex command",
25
+ "failed verification and successful retry",
26
+ "verified integration",
27
+ "task completed",
28
+ "locks released"
29
+ ]
30
+ }
31
+ ],
32
+ "passed": true
33
+ }
package/package.json CHANGED
@@ -1,6 +1,85 @@
1
1
  {
2
2
  "name": "kith-coord",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "Local coordination for cooperating coding agents: work claims, isolated worktrees, shared resources, and verified integration without a hosted service.",
5
+ "type": "module",
6
+ "bin": {
7
+ "kith": "./dist/cli/index.js",
8
+ "coord": "./dist/cli/index.js"
9
+ },
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md",
21
+ "LICENSE",
22
+ "docs",
23
+ "CONTRIBUTING.md",
24
+ "SECURITY.md",
25
+ "CODE_OF_CONDUCT.md",
26
+ "CHANGELOG.md",
27
+ "assets/brand"
28
+ ],
29
+ "engines": {
30
+ "node": "^22.13.0 || >=24.0.0"
31
+ },
32
+ "scripts": {
33
+ "build": "tsup",
34
+ "dev": "tsup --watch",
35
+ "test": "tsup && vitest run",
36
+ "test:watch": "tsup && vitest",
37
+ "typecheck": "tsc --noEmit",
38
+ "check": "pnpm typecheck && pnpm test",
39
+ "prepack": "tsup",
40
+ "test:package": "pnpm build && node scripts/smoke-package.mjs",
41
+ "demo": "pnpm build && node examples/two-agents.mjs",
42
+ "test:clients": "pnpm build && node scripts/validate-native-clients.mjs",
43
+ "protocol:export": "pnpm build && node scripts/export-protocol.mjs",
44
+ "protocol:check": "node scripts/export-protocol.mjs --check"
45
+ },
46
+ "keywords": [
47
+ "ai-agents",
48
+ "parallel-agents",
49
+ "mcp",
50
+ "claude-code",
51
+ "codex",
52
+ "antigravity",
53
+ "cursor",
54
+ "git-worktree",
55
+ "coordination",
56
+ "multi-agent"
57
+ ],
58
+ "license": "MIT",
59
+ "dependencies": {
60
+ "@modelcontextprotocol/sdk": "^1.32.1",
61
+ "picomatch": "^4.0.2",
62
+ "smol-toml": "^1.9.1",
63
+ "zod": "^3.24.2"
64
+ },
65
+ "devDependencies": {
66
+ "@types/node": "^22.13.0",
67
+ "@types/picomatch": "^4.0.0",
68
+ "tsup": "^8.4.0",
69
+ "vitest": "^3.0.7",
70
+ "typescript": "^5.8.2"
71
+ },
72
+ "packageManager": "pnpm@10.20.0",
73
+ "repository": {
74
+ "type": "git",
75
+ "url": "git+https://github.com/connorhriley/kith.git"
76
+ },
77
+ "homepage": "https://github.com/connorhriley/kith#readme",
78
+ "bugs": {
79
+ "url": "https://github.com/connorhriley/kith/issues"
80
+ },
81
+ "publishConfig": {
82
+ "access": "public",
83
+ "registry": "https://registry.npmjs.org"
84
+ }
85
+ }