@kontextmind/kxm 0.7.122 → 0.7.124

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 (48) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.kxm/workflows/implement-only.yaml +20 -0
  3. package/.kxm/workflows/review-arch-only.yaml +20 -0
  4. package/.kxm/workflows/review-cli-only.yaml +20 -0
  5. package/CHANGELOG.md +31 -3
  6. package/docs/architecture/access-schema.yaml +60 -0
  7. package/docs/architecture/access.md +33 -0
  8. package/docs/architecture/agent-path.md +36 -0
  9. package/docs/architecture/authentication.md +29 -0
  10. package/docs/architecture/hosted-direction.md +59 -0
  11. package/docs/architecture/index.md +19 -0
  12. package/docs/architecture/inventory.md +38 -0
  13. package/docs/architecture/platform.md +48 -0
  14. package/docs/assets/logo.png +0 -0
  15. package/docs/contributing/assignment-runner.md +15 -4
  16. package/docs/index.md +56 -0
  17. package/docs/javascripts/mermaid-init.js +83 -0
  18. package/docs/javascripts/mermaid.min.js +4376 -0
  19. package/docs/reference/cli-reference.md +57 -4
  20. package/docs/reference/config-reference.md +2 -1
  21. package/docs/reference/workflow-catalog.md +10 -0
  22. package/docs/reference/workflow-definitions.md +1 -1
  23. package/docs/robots.txt +44 -0
  24. package/docs/stylesheets/extra.css +100 -0
  25. package/package.json +1 -1
  26. package/plugins/kxm/.claude-plugin/plugin.json +1 -1
  27. package/plugins/kxm/dist/cli.js +265 -165
  28. package/plugins/kxm/dist/mcp-server.js +1 -1
  29. package/plugins/kxm/dist/runtime-supervisor.js +209 -72
  30. package/plugins/kxm/dist/runtime.js +233 -94
  31. package/plugins/kxm/package.json +1 -1
  32. package/plugins/kxm/skills/kxm/SKILL.md +1 -2
  33. package/plugins/kxm/skills/kxm-runs/SKILL.md +7 -0
  34. package/plugins/kxm/src/cli/docs.ts +78 -0
  35. package/plugins/kxm/src/cli/project.ts +14 -2
  36. package/plugins/kxm/src/cli.ts +14 -0
  37. package/plugins/kxm/src/engine-fold.ts +15 -7
  38. package/plugins/kxm/src/engine-plan.ts +10 -1
  39. package/plugins/kxm/src/engine.ts +105 -2
  40. package/plugins/kxm/src/mcp-server.ts +1 -1
  41. package/plugins/kxm/src/oneshot-evidence.ts +44 -0
  42. package/plugins/kxm/src/oneshot-producer.ts +5 -5
  43. package/plugins/kxm/src/runtime-service.ts +10 -0
  44. package/plugins/kxm/src/runtime-store.ts +1 -0
  45. package/plugins/kxm/src/runtime-supervisor.ts +2 -0
  46. package/schemas/drive-receipt.schema.json +1 -0
  47. package/schemas/project.schema.json +2 -1
  48. package/schemas/roadmap-state.schema.json +147 -0
@@ -76,7 +76,8 @@
76
76
  "properties": {
77
77
  "maxConcurrentRuns": { "type": "integer", "minimum": 1, "maximum": 128 },
78
78
  "maxRunDurationMs": { "$ref": "common.schema.json#/$defs/durationMs" },
79
- "maxAgentTimeMs": { "$ref": "common.schema.json#/$defs/durationMs" }
79
+ "maxAgentTimeMs": { "$ref": "common.schema.json#/$defs/durationMs" },
80
+ "agentStepTimeoutMs": { "type": "integer", "minimum": 60000, "maximum": 31536000000 }
80
81
  },
81
82
  "additionalProperties": false
82
83
  }
@@ -0,0 +1,147 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.kxm.dev/roadmap-state.schema.json",
4
+ "title": "KXM roadmap state",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema", "updated", "goal", "phases"],
8
+ "properties": {
9
+ "schema": { "const": "kxm.roadmap.v1" },
10
+ "updated": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" },
11
+ "goal": { "type": "string", "minLength": 1 },
12
+ "constraints": {
13
+ "type": "array",
14
+ "items": { "type": "string" }
15
+ },
16
+ "contacts": {
17
+ "type": "array",
18
+ "items": { "$ref": "#/$defs/contact" }
19
+ },
20
+ "contacts_comment": { "type": "string" },
21
+ "history": {
22
+ "type": "array",
23
+ "description": "Oldest first. The generator keeps the newest 12 lines and drops the older ones (history_over_cap). That prune is not a schema refusal.",
24
+ "items": { "$ref": "#/$defs/historyLine" }
25
+ },
26
+ "architecture": { "$ref": "#/$defs/architecture" },
27
+ "improvements": {
28
+ "type": "array",
29
+ "items": { "type": "string" }
30
+ },
31
+ "phases": {
32
+ "type": "array",
33
+ "items": { "$ref": "#/$defs/phase" }
34
+ }
35
+ },
36
+ "$defs": {
37
+ "date": { "type": "string", "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$" },
38
+ "historyLine": {
39
+ "type": "object",
40
+ "additionalProperties": false,
41
+ "required": ["date", "line"],
42
+ "properties": {
43
+ "date": { "$ref": "#/$defs/date" },
44
+ "line": { "type": "string", "minLength": 1, "maxLength": 240 }
45
+ }
46
+ },
47
+ "contact": {
48
+ "type": "object",
49
+ "additionalProperties": false,
50
+ "required": ["role", "confirmed"],
51
+ "properties": {
52
+ "role": { "type": "string", "minLength": 1 },
53
+ "name": { "type": "string", "minLength": 1 },
54
+ "confirmed": { "$ref": "#/$defs/date" }
55
+ }
56
+ },
57
+ "architecture": {
58
+ "type": "object",
59
+ "additionalProperties": false,
60
+ "properties": {
61
+ "verified": {
62
+ "anyOf": [
63
+ { "type": "null" },
64
+ { "$ref": "#/$defs/date" }
65
+ ]
66
+ },
67
+ "docs": {
68
+ "type": "array",
69
+ "items": { "type": "string" }
70
+ },
71
+ "drift": {
72
+ "type": "array",
73
+ "items": {
74
+ "type": "object",
75
+ "additionalProperties": false,
76
+ "required": ["claim", "page", "status"],
77
+ "properties": {
78
+ "claim": { "type": "string" },
79
+ "page": { "type": "string" },
80
+ "status": { "type": "string" }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ },
86
+ "phase": {
87
+ "type": "object",
88
+ "additionalProperties": false,
89
+ "required": ["id", "slug", "title", "goal", "source", "tasks"],
90
+ "properties": {
91
+ "id": { "type": "string", "minLength": 1 },
92
+ "slug": { "type": "string", "minLength": 1 },
93
+ "title": { "type": "string", "minLength": 1 },
94
+ "goal": { "type": "string", "minLength": 1 },
95
+ "source": { "type": "string", "minLength": 1 },
96
+ "priority": { "const": "later" },
97
+ "horizon": {
98
+ "description": "Derived by the generator from phase order and priority (next, soon, or later). Not hand-set. A stored value is ignored.",
99
+ "enum": ["next", "soon", "later"]
100
+ },
101
+ "blockers": {
102
+ "type": "array",
103
+ "items": { "type": "string" }
104
+ },
105
+ "questions": {
106
+ "type": "array",
107
+ "items": { "type": "string" }
108
+ },
109
+ "tasks": {
110
+ "type": "array",
111
+ "items": { "$ref": "#/$defs/task" }
112
+ }
113
+ }
114
+ },
115
+ "task": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "required": ["id", "title", "status"],
119
+ "properties": {
120
+ "id": { "type": "string", "minLength": 1 },
121
+ "title": { "type": "string", "minLength": 1 },
122
+ "status": { "enum": ["open", "done"] },
123
+ "evidence": { "type": "string" },
124
+ "planSection": { "type": "string", "minLength": 1 },
125
+ "doneCriterion": { "type": "string", "minLength": 1 },
126
+ "evidenceNeeded": { "type": "string", "minLength": 1 },
127
+ "template": {
128
+ "enum": [
129
+ "feature",
130
+ "research",
131
+ "bug-fix",
132
+ "architecture",
133
+ "adr",
134
+ "test-plan",
135
+ "test-report",
136
+ "review",
137
+ "handoff",
138
+ "runbook",
139
+ "postmortem",
140
+ "none"
141
+ ]
142
+ },
143
+ "detail": { "enum": ["brief", "scoped", "ready"] }
144
+ }
145
+ }
146
+ }
147
+ }