umtri-mcp 1.3.2 → 1.3.3

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.
@@ -35,7 +35,9 @@ back onto the nodes. The human commits when satisfied.
35
35
  unless the node already has `metadata.implements`** (step 3), so attach the
36
36
  source paths first. The human can also commit from the UI. If you are unsure
37
37
  the realization is complete, leave it as plan and ask the human rather than
38
- committing.
38
+ committing. **Commit from the top down:** a node whose parent is still a plan
39
+ is rejected — commit the parent first. (A committed node under a plan parent
40
+ would vanish from the tree whenever Plan mode is off.)
39
41
  6. **Record the commit (CI/CD form record).** When the code lands in git, the
40
42
  commit is recorded onto the nodes it touched via `record_commit`
41
43
  (sha + changed files → appended to each matching node's `metadata.commits`).
package/core/tools.js CHANGED
@@ -814,7 +814,7 @@ export function registerTools(server, { api }) {
814
814
  'commit_plan',
815
815
  {
816
816
  title: 'Commit a realized plan node',
817
- description: 'Promotes a plan node (metadata.plan=true) to the real tree by clearing the plan flag. VERIFICATION GATE: the node must already carry metadata.implements (the source path(s) you wrote) — without it the commit is rejected, because an uncommitted plan node with no implements is not considered realized. Call this only after you have actually written the code and recorded implements via update_node. See umtri://rules/plan.',
817
+ description: 'Promotes a plan node (metadata.plan=true) to the real tree by clearing the plan flag. VERIFICATION GATE: the node must already carry metadata.implements (the source path(s) you wrote) — without it the commit is rejected, because an uncommitted plan node with no implements is not considered realized. Call this only after you have actually written the code and recorded implements via update_node. Commit from the top down: a node whose parent is still a plan is rejected — commit the parent first. See umtri://rules/plan.',
818
818
  inputSchema: z.object({
819
819
  slug: z.string().min(1).describe('Ground slug.'),
820
820
  id: z.string().min(1).describe('Plan node id to commit.'),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "umtri-mcp",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "MCP server for Umtri — give your AI coding agent a persistent map of your project's structure, dependencies, and bugs.",
5
5
  "mcpName": "io.umtri/umtri",
6
6
  "keywords": [