@telora/mcp-products 0.22.82 → 0.22.84
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.
- package/dist/handlers/auditTreeAuthoringGuide.d.ts +1 -1
- package/dist/handlers/auditTreeAuthoringGuide.js +17 -0
- package/dist/handlers/auditTreeAuthoringGuide.js.map +1 -1
- package/dist/handlers/index.d.ts +1 -0
- package/dist/handlers/index.js +1 -0
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/prdAuthoringGuide.d.ts +1 -1
- package/dist/handlers/prdAuthoringGuide.js +21 -13
- package/dist/handlers/prdAuthoringGuide.js.map +1 -1
- package/dist/handlers/prdHandlers.d.ts +13 -13
- package/dist/handlers/prdHandlers.js +65 -53
- package/dist/handlers/prdHandlers.js.map +1 -1
- package/dist/handlers/realityTreeHandlers.d.ts +32 -0
- package/dist/handlers/realityTreeHandlers.js +67 -3
- package/dist/handlers/realityTreeHandlers.js.map +1 -1
- package/dist/handlers/starterRepoAuthoringGuide.d.ts +1 -0
- package/dist/handlers/starterRepoAuthoringGuide.js +57 -0
- package/dist/handlers/starterRepoAuthoringGuide.js.map +1 -0
- package/dist/handlers/starterRepoHandlers.d.ts +30 -0
- package/dist/handlers/starterRepoHandlers.js +155 -0
- package/dist/handlers/starterRepoHandlers.js.map +1 -0
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const AUDIT_TREE_AUTHORING_GUIDE = "# Audit Tree-Authoring Protocol (CRT -> injections -> anchored plan)\n\nA safe audit emits a **tree and a plan, never a task checklist.** You are\nREAD-ONLY: discovery only. You author the intent structure -- the current\nreality, its root causes, and the leverage points -- and you anchor a plan a\nhuman reviews before any fix runs. You do NOT fix anything, and you do NOT\nfile remediation Task/Bug issues. Remediation is scoped LATER, one root cause\nat a time, from the injections you ratify here -- so there is no flat checklist\nto complete with completion-vigor and churn stays bounded to the real defects.\n\nTwo artifacts, one purpose:\n- **CRT (current reality)** -- entities + undesired effects (UDEs) wired by\n causal edges, surfacing the systemic structure so cross-area root causes\n become visible in ONE focus tree (NOT one delivery per audit area).\n- **FRT (future reality)** -- injections at the root causes, self-validated to\n confirm they flip the UDEs, then anchored to planning deliveries whose\n acceptance is the future-state desired effect each injection produces.\n\n## Rounds (distinct jobs -- not \"find more\")\n1. **Facts -> CRT.** Author the current reality. Create the focus's reality\n tree if none exists (`telora_reality_tree action=create`), then add an\n **entity** node per real component/observation and an **undesired_effect**\n (UDE) node per observed problem (`telora_reality_tree_node action=create`).\n State what IS, in evidence terms -- not a fix.\n2. **Relationships -> causal edges.** Wire cause -> effect with\n `telora_reality_tree_edge action=create` (cause node -> effect node). This\n is the load-bearing round: edges turn a list of symptoms into a causal\n structure, so a single deep cause feeding many surface UDEs across different\n audit areas becomes visible as ONE root in ONE tree -- which is exactly what\n stops the \"one delivery per area\" sprawl.\n3. **Leverage -> injections.** Propose **injection** nodes at the LOWEST / root\n causes (the nodes with the most downstream UDEs), not at the symptoms.\n One injection at a root can clear a whole subtree of UDEs; that leverage is\n the whole reason for the tree.\n4. **Self-validate -> derive_frt.** Call\n `telora_reality_tree action=derive_frt` with the treeId. This is read-only:\n it returns the cleared/flipped UDE sets the injections produce. Confirm each\n injection flips the UDEs you targeted. If a UDE is left unresolved by your\n injection set, REPORT it -- do not hide it and do not lower the bar to make\n the tree look clean. An honest \"this UDE has no injection yet\" is signal; a\n silently dropped UDE is noise.\n5. **Anchor the plan -> injection-anchored deliveries.** For each ratified\n injection, create a remediation delivery with\n `telora_product_delivery action=create`, passing\n `injectionNodeId=<the injection node>` and\n `executionStatus=\"planning\"`. Set its acceptance to the **FRT desired\n effect** -- the future-state the injection produces (what becomes true once\n the root cause is cleared), NOT a list of edits. This is the navigable plan\n the human reviews in the canvas before anything executes.\n\nExplicitly, in the audit phase your output is **the tree + the anchored\nplanning deliveries only.** Do NOT create remediation Task or Bug issues. Do\nNOT create one delivery per audit area -- unify the audit into ONE focus tree\nand let each injection (each root cause) anchor exactly one planning delivery.\nDo NOT attempt fixes.\n\n## Why this shape (the discipline it enforces)\nA flat checklist invites an agent to \"complete\" it -- to keep going until every\nbox is ticked, which churns code well beyond the real defects. An\ninjection-anchored plan inverts that: remediation is scoped one root cause at a\ntime from a ratified injection, with acceptance pinned to a desired effect, so\nthere is nothing to over-complete. The human reviews the structured CRT + FRT\nin the canvas first, so a wrong root cause is caught before any code moves.";
|
|
1
|
+
export declare const AUDIT_TREE_AUTHORING_GUIDE = "# Audit Tree-Authoring Protocol (CRT -> injections -> anchored plan)\n\nA safe audit emits a **tree and a plan, never a task checklist.** You are\nREAD-ONLY: discovery only. You author the intent structure -- the current\nreality, its root causes, and the leverage points -- and you anchor a plan a\nhuman reviews before any fix runs. You do NOT fix anything, and you do NOT\nfile remediation Task/Bug issues. Remediation is scoped LATER, one root cause\nat a time, from the injections you ratify here -- so there is no flat checklist\nto complete with completion-vigor and churn stays bounded to the real defects.\n\nTwo artifacts, one purpose:\n- **CRT (current reality)** -- entities + undesired effects (UDEs) wired by\n causal edges, surfacing the systemic structure so cross-area root causes\n become visible in ONE focus tree (NOT one delivery per audit area).\n- **FRT (future reality)** -- injections at the root causes, self-validated to\n confirm they flip the UDEs, then anchored to planning deliveries whose\n acceptance is the future-state desired effect each injection produces.\n\n## Rounds (distinct jobs -- not \"find more\")\n1. **Facts -> CRT.** Author the current reality. Create the focus's reality\n tree if none exists (`telora_reality_tree action=create`), then add an\n **entity** node per real component/observation and an **undesired_effect**\n (UDE) node per observed problem (`telora_reality_tree_node action=create`).\n State what IS, in evidence terms -- not a fix.\n2. **Relationships -> causal edges.** Wire cause -> effect with\n `telora_reality_tree_edge action=create` (cause node -> effect node). This\n is the load-bearing round: edges turn a list of symptoms into a causal\n structure, so a single deep cause feeding many surface UDEs across different\n audit areas becomes visible as ONE root in ONE tree -- which is exactly what\n stops the \"one delivery per area\" sprawl.\n3. **Leverage -> injections.** Propose **injection** nodes at the LOWEST / root\n causes (the nodes with the most downstream UDEs), not at the symptoms.\n One injection at a root can clear a whole subtree of UDEs; that leverage is\n the whole reason for the tree.\n4. **Self-validate -> derive_frt.** Call\n `telora_reality_tree action=derive_frt` with the treeId. This is read-only:\n it returns the cleared/flipped UDE sets the injections produce. Confirm each\n injection flips the UDEs you targeted. If a UDE is left unresolved by your\n injection set, REPORT it -- do not hide it and do not lower the bar to make\n the tree look clean. An honest \"this UDE has no injection yet\" is signal; a\n silently dropped UDE is noise.\n5. **Anchor the plan -> injection-anchored deliveries.** For each ratified\n injection, create a remediation delivery with\n `telora_product_delivery action=create`, passing\n `injectionNodeId=<the injection node>` and\n `executionStatus=\"planning\"`. Set its acceptance to the **FRT desired\n effect** -- the future-state the injection produces (what becomes true once\n the root cause is cleared), NOT a list of edits. This is the navigable plan\n the human reviews in the canvas before anything executes.\n\nExplicitly, in the audit phase your output is **the tree + the anchored\nplanning deliveries only.** Do NOT create remediation Task or Bug issues. Do\nNOT create one delivery per audit area -- unify the audit into ONE focus tree\nand let each injection (each root cause) anchor exactly one planning delivery.\nDo NOT attempt fixes.\n\n## Two hard integrity gates (deterministic; a tree must pass to present)\nThe tree dump (`telora_reality_tree action=dump`) computes and surfaces two\ndeterministic doubt-revealer gates near its header, so unearned certainty\ncannot hide:\n- **Connectivity (NO ORPHANS).** A node with zero edges of ANY type AND no\n `evidence` is an ORPHAN -- it floats, neither wired into the causal graph nor\n folded into its own evidence. A single orphan makes the tree **NOT\n presentable**; the dump names the orphan seqs. Fix it: wire the node to a\n cause/effect with an edge, or ground it by setting `evidence`. An orphan is\n reality with nothing to measure it against -- it must not survive to review.\n- **Evidence-or-assumed.** An `entity` / `undesired_effect` with empty/null\n `evidence` renders an `[assumed]` marker; with evidence it renders\n `(evidence)`. Assumed is NOT a violation -- it is an honest hedge that the\n claim is unearned certainty until grounded. Set `evidence` on the nodes you\n can actually observe; leave the rest visibly `[assumed]` rather than dressing\n a guess up as a proven cause.\n\n## Why this shape (the discipline it enforces)\nA flat checklist invites an agent to \"complete\" it -- to keep going until every\nbox is ticked, which churns code well beyond the real defects. An\ninjection-anchored plan inverts that: remediation is scoped one root cause at a\ntime from a ratified injection, with acceptance pinned to a desired effect, so\nthere is nothing to over-complete. The human reviews the structured CRT + FRT\nin the canvas first, so a wrong root cause is caught before any code moves.";
|
|
@@ -72,6 +72,23 @@ NOT create one delivery per audit area -- unify the audit into ONE focus tree
|
|
|
72
72
|
and let each injection (each root cause) anchor exactly one planning delivery.
|
|
73
73
|
Do NOT attempt fixes.
|
|
74
74
|
|
|
75
|
+
## Two hard integrity gates (deterministic; a tree must pass to present)
|
|
76
|
+
The tree dump (\`telora_reality_tree action=dump\`) computes and surfaces two
|
|
77
|
+
deterministic doubt-revealer gates near its header, so unearned certainty
|
|
78
|
+
cannot hide:
|
|
79
|
+
- **Connectivity (NO ORPHANS).** A node with zero edges of ANY type AND no
|
|
80
|
+
\`evidence\` is an ORPHAN -- it floats, neither wired into the causal graph nor
|
|
81
|
+
folded into its own evidence. A single orphan makes the tree **NOT
|
|
82
|
+
presentable**; the dump names the orphan seqs. Fix it: wire the node to a
|
|
83
|
+
cause/effect with an edge, or ground it by setting \`evidence\`. An orphan is
|
|
84
|
+
reality with nothing to measure it against -- it must not survive to review.
|
|
85
|
+
- **Evidence-or-assumed.** An \`entity\` / \`undesired_effect\` with empty/null
|
|
86
|
+
\`evidence\` renders an \`[assumed]\` marker; with evidence it renders
|
|
87
|
+
\`(evidence)\`. Assumed is NOT a violation -- it is an honest hedge that the
|
|
88
|
+
claim is unearned certainty until grounded. Set \`evidence\` on the nodes you
|
|
89
|
+
can actually observe; leave the rest visibly \`[assumed]\` rather than dressing
|
|
90
|
+
a guess up as a proven cause.
|
|
91
|
+
|
|
75
92
|
## Why this shape (the discipline it enforces)
|
|
76
93
|
A flat checklist invites an agent to "complete" it -- to keep going until every
|
|
77
94
|
box is ticked, which churns code well beyond the real defects. An
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditTreeAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/auditTreeAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,kEAAkE;AAClE,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,4DAA4D;AAC5D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG
|
|
1
|
+
{"version":3,"file":"auditTreeAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/auditTreeAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAC9E,kEAAkE;AAClE,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,4DAA4D;AAC5D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EA+EkC,CAAC"}
|
package/dist/handlers/index.d.ts
CHANGED
|
@@ -24,3 +24,4 @@ export { registerPrdTools, handlePrdCreate } from "./prdHandlers.js";
|
|
|
24
24
|
export { registerProductRequestTools, handleProductRequestCreate } from "./productRequestHandlers.js";
|
|
25
25
|
export { registerEndpointTools, handleEndpointTool } from "./endpointHandlers.js";
|
|
26
26
|
export { registerServiceDefinitionTools, handleServiceDefinitionTool } from "./serviceDefinitionHandlers.js";
|
|
27
|
+
export { registerStarterRepoTools, handleStarterRepoTool } from "./starterRepoHandlers.js";
|
package/dist/handlers/index.js
CHANGED
|
@@ -27,4 +27,5 @@ export { registerPrdTools, handlePrdCreate } from "./prdHandlers.js";
|
|
|
27
27
|
export { registerProductRequestTools, handleProductRequestCreate } from "./productRequestHandlers.js";
|
|
28
28
|
export { registerEndpointTools, handleEndpointTool } from "./endpointHandlers.js";
|
|
29
29
|
export { registerServiceDefinitionTools, handleServiceDefinitionTool } from "./serviceDefinitionHandlers.js";
|
|
30
|
+
export { registerStarterRepoTools, handleStarterRepoTool } from "./starterRepoHandlers.js";
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PRD_AUTHORING_GUIDE = "# PRD Authoring Protocol (capture -> expand -> check)\n\nA PRD turns the human <-> AI dialog into a FULL product description. The core\nmove is **capture, then expand -- never transcribe.** A sparse dialog must not\nyield a sparse PRD: reason OUTWARD from what was said to every capability, flow,\nedge case, data implication, and non-functional a complete product requires,\nINCLUDING the ones nobody said aloud.\n\nTwo zones, two owners, marked by provenance:\n- **Captured intent (STATED, human-owned)** -- what the human actually said,\n preserved, not summarized away. The reference everything is checked against.\n- **AI expansion (INFERRED, machine-owned)** -- the full product derived from\n that intent. Must visibly EXCEED the capture, not reword it.\n\n## Rounds (distinct jobs -- not \"write more\")\n0. **Capture** the dialog as structured intent: every thread, in the human's\n terms. This is the reference.\n1. **Expand** it against the document shape below. Surface what the dialog\n IMPLIES but never stated. If it reads like the dialog reworded, it failed.\n2. **Check against capture** (ideally a fresh sub-agent that won't defend the\n draft): is every captured thread expanded? What does the intent imply that\n is still missing? Where is it transcription, or verbose-but-thin?\n3. **Close the gap.** Re-run round 2 for a real-sized product.\nSurface to the human only at round boundaries, and only for intent (\"did I\ncapture what you meant?\") -- never to fill expansion slots.\n\n## The expansion should cover\n- The realized product, end to end (a reader can picture using it).\n- Problem & users / jobs-to-be-done.\n- **Capabilities** -- each a SIGNIFICANT portion of the product (one capability\n with multiple phases ahead of it, NOT one shippable change). Per capability:\n behavior/flows, data-model implications, surfaces (UI/API/daemon/MCP), edge\n cases, a verifiable acceptance signal, dependencies, and the **>=2 phases** it\n decomposes into.\n- Cross-cutting / non-functional (authz/RLS, perf, security, observability).\n- System-level architecture & data model.\n- Sequencing & pathways (and alternatives held as options).\n- Obstacles & risks
|
|
1
|
+
export declare const PRD_AUTHORING_GUIDE = "# PRD Authoring Protocol (capture -> expand -> check)\n\nA PRD turns the human <-> AI dialog into a FULL product description. The core\nmove is **capture, then expand -- never transcribe.** A sparse dialog must not\nyield a sparse PRD: reason OUTWARD from what was said to every capability, flow,\nedge case, data implication, and non-functional a complete product requires,\nINCLUDING the ones nobody said aloud.\n\nTwo zones, two owners, marked by provenance:\n- **Captured intent (STATED, human-owned)** -- what the human actually said,\n preserved, not summarized away. The reference everything is checked against.\n- **AI expansion (INFERRED, machine-owned)** -- the full product derived from\n that intent. Must visibly EXCEED the capture, not reword it.\n\n## Rounds (distinct jobs -- not \"write more\")\n0. **Capture** the dialog as structured intent: every thread, in the human's\n terms. This is the reference.\n1. **Expand** it against the document shape below. Surface what the dialog\n IMPLIES but never stated. If it reads like the dialog reworded, it failed.\n2. **Check against capture** (ideally a fresh sub-agent that won't defend the\n draft): is every captured thread expanded? What does the intent imply that\n is still missing? Where is it transcription, or verbose-but-thin?\n3. **Close the gap.** Re-run round 2 for a real-sized product.\nSurface to the human only at round boundaries, and only for intent (\"did I\ncapture what you meant?\") -- never to fill expansion slots.\n\n## The expansion should cover\n- The realized product, end to end (a reader can picture using it).\n- Problem & users / jobs-to-be-done.\n- **Capabilities** -- each a SIGNIFICANT portion of the product (one capability\n with multiple phases ahead of it, NOT one shippable change). Per capability:\n behavior/flows, data-model implications, surfaces (UI/API/daemon/MCP), edge\n cases, a verifiable acceptance signal, dependencies, and the **>=2 phases** it\n decomposes into.\n- Cross-cutting / non-functional (authz/RLS, perf, security, observability).\n- System-level architecture & data model.\n- Sequencing & pathways (and alternatives held as options).\n- Obstacles & risks (a clearancePredicate is OPTIONAL and advisory only).\n\n## How this is enforced (the authoring gates)\n- `telora_prd create` REQUIRES **capturedIntent** + **expansion**. No PRD\n without the dialog anchor and a full expansion that exceeds it.\n- `telora_prd_tree node_create`: an **overcome** REQUIRES **phases (>=2)** --\n it materializes as a focus, so it must be capability-sized. An **obstacle**\n does NOT require a predicate. The frontier advances when an overcome's focus\n COMPLETES -- that is, when all of that focus's deliveries pass their own verify\n gates. Focus-completion is the single clearance signal; there is no per-obstacle\n predicate gate. A `clearancePredicate`, if supplied, is **advisory only**: it\n documents the author's notion of \"done\" but is NOT evaluated as a frontier gate,\n so you do not need to commit exact shell/test paths before the code exists.\nThese gates enforce STRUCTURE; the depth is on you -- run the rounds.\n\n## Selecting a starter (greenfield UI PRDs)\nA greenfield UI PRD should **select a starter repo** so the product begins ABOVE\nthe UX floor instead of scaffolding a frontend from zero. Set `starterRepoId`\non `telora_prd create`/`update` to a starter from the org library\n(telora_starter_repo list to browse, by look/archetype). At product genesis the\nfactory clones the starter's pinned ref as the product's initial commit and runs\nthe PRD against it (customize/extend) -- so do NOT author a \"scaffold the app\nfrom zero\" phase when a starter is selected; the base is already there. Leave\n`starterRepoId` null for non-UI / non-greenfield PRDs. The starter must be in\nthe same org as the product.\n\n## From document to tree\ngoal -> goal node; each capability -> an overcome node (>=2 phases) that later\nmaterializes as a focus; each obstacle -> an obstacle node (a clearancePredicate\nis optional/advisory, not required); dependencies -> prerequisite edges;\nalternatives -> pathways (commit one). A faithful capture, fully expanded, yields\ncapability-sized foci by construction -- which is the whole point.\n\n## Arming the run (so it does not stall)\nAuthoring the tree is necessary but not sufficient. The daemon PRD controller\nonly ARMS frontier foci when the PRD is Played -- that is, when\n`prds.assigned_agent_role_id` is set to an agent_roles UUID, via the Factory\nPRD Play toggle or `telora_prd update assignedAgentRoleId=<uuid>` (pass null to\npause). Until the PRD is Played, the controller computes the frontier but arms\nnothing and the run never starts. If an active PRD has a frontier but no arm\nrole, the controller files a `prd_frontier_blocked_no_arm_role` escalation\n(once) instead of stalling silently -- Play the PRD to clear it.";
|
|
@@ -47,28 +47,36 @@ capture what you meant?") -- never to fill expansion slots.
|
|
|
47
47
|
- Cross-cutting / non-functional (authz/RLS, perf, security, observability).
|
|
48
48
|
- System-level architecture & data model.
|
|
49
49
|
- Sequencing & pathways (and alternatives held as options).
|
|
50
|
-
- Obstacles & risks
|
|
50
|
+
- Obstacles & risks (a clearancePredicate is OPTIONAL and advisory only).
|
|
51
51
|
|
|
52
52
|
## How this is enforced (the authoring gates)
|
|
53
53
|
- \`telora_prd create\` REQUIRES **capturedIntent** + **expansion**. No PRD
|
|
54
54
|
without the dialog anchor and a full expansion that exceeds it.
|
|
55
55
|
- \`telora_prd_tree node_create\`: an **overcome** REQUIRES **phases (>=2)** --
|
|
56
|
-
it materializes as a focus, so it must be capability-sized
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
predicate with no recognized \`kind\` is REJECTED: it would defer forever and
|
|
64
|
-
silently stall the whole PRD. The \`behavioral\`/\`ai_inspection\`/\`human\` kinds
|
|
65
|
-
are accepted but do NOT auto-clear -- a human or AI must clear them out of band.
|
|
56
|
+
it materializes as a focus, so it must be capability-sized. An **obstacle**
|
|
57
|
+
does NOT require a predicate. The frontier advances when an overcome's focus
|
|
58
|
+
COMPLETES -- that is, when all of that focus's deliveries pass their own verify
|
|
59
|
+
gates. Focus-completion is the single clearance signal; there is no per-obstacle
|
|
60
|
+
predicate gate. A \`clearancePredicate\`, if supplied, is **advisory only**: it
|
|
61
|
+
documents the author's notion of "done" but is NOT evaluated as a frontier gate,
|
|
62
|
+
so you do not need to commit exact shell/test paths before the code exists.
|
|
66
63
|
These gates enforce STRUCTURE; the depth is on you -- run the rounds.
|
|
67
64
|
|
|
65
|
+
## Selecting a starter (greenfield UI PRDs)
|
|
66
|
+
A greenfield UI PRD should **select a starter repo** so the product begins ABOVE
|
|
67
|
+
the UX floor instead of scaffolding a frontend from zero. Set \`starterRepoId\`
|
|
68
|
+
on \`telora_prd create\`/\`update\` to a starter from the org library
|
|
69
|
+
(telora_starter_repo list to browse, by look/archetype). At product genesis the
|
|
70
|
+
factory clones the starter's pinned ref as the product's initial commit and runs
|
|
71
|
+
the PRD against it (customize/extend) -- so do NOT author a "scaffold the app
|
|
72
|
+
from zero" phase when a starter is selected; the base is already there. Leave
|
|
73
|
+
\`starterRepoId\` null for non-UI / non-greenfield PRDs. The starter must be in
|
|
74
|
+
the same org as the product.
|
|
75
|
+
|
|
68
76
|
## From document to tree
|
|
69
77
|
goal -> goal node; each capability -> an overcome node (>=2 phases) that later
|
|
70
|
-
materializes as a focus; each obstacle -> an obstacle node
|
|
71
|
-
|
|
78
|
+
materializes as a focus; each obstacle -> an obstacle node (a clearancePredicate
|
|
79
|
+
is optional/advisory, not required); dependencies -> prerequisite edges;
|
|
72
80
|
alternatives -> pathways (commit one). A faithful capture, fully expanded, yields
|
|
73
81
|
capability-sized foci by construction -- which is the whole point.
|
|
74
82
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prdAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/prdAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,sEAAsE;AACtE,2EAA2E;AAC3E,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"prdAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/prdAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8EAA8E;AAC9E,iFAAiF;AACjF,sEAAsE;AACtE,2EAA2E;AAC3E,8EAA8E;AAC9E,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEA8E8B,CAAC"}
|
|
@@ -2,16 +2,14 @@ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
2
2
|
import { type GetCreds } from "../shared.js";
|
|
3
3
|
type CallApi = (body: Record<string, unknown>) => Promise<unknown>;
|
|
4
4
|
/**
|
|
5
|
-
* Validate that
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* consciously choose an auto-clearing deterministic predicate (with runnable
|
|
14
|
-
* `checks`) vs a deferred kind that a human/AI must clear out of band.
|
|
5
|
+
* Validate that a SUPPLIED obstacle clearancePredicate is well-formed. The
|
|
6
|
+
* predicate is OPTIONAL and ADVISORY only -- it is NOT a frontier gate. The
|
|
7
|
+
* frontier advances on focus-completion (an overcome's focus finishing with all
|
|
8
|
+
* its deliveries past their own verify gates), not on a per-obstacle predicate.
|
|
9
|
+
* This check does not make the predicate a gate; it only stops a supplied
|
|
10
|
+
* predicate from being stored as malformed free-text junk. Returns an error
|
|
11
|
+
* message string if a supplied predicate is malformed, or null if acceptable.
|
|
12
|
+
* Exported pure for tests.
|
|
15
13
|
*/
|
|
16
14
|
export declare function validateClearancePredicate(cp: Record<string, unknown>): string | null;
|
|
17
15
|
export declare function handlePrdCreate(params: {
|
|
@@ -22,6 +20,7 @@ export declare function handlePrdCreate(params: {
|
|
|
22
20
|
expansion?: string;
|
|
23
21
|
visionProductId?: string;
|
|
24
22
|
visionSnapshot?: string;
|
|
23
|
+
starterRepoId?: string | null;
|
|
25
24
|
status?: string;
|
|
26
25
|
returnFull?: boolean;
|
|
27
26
|
}, callApi: CallApi): Promise<{
|
|
@@ -36,9 +35,10 @@ export declare function handlePrdCreate(params: {
|
|
|
36
35
|
* - overcome: requires >=2 phases. An overcome materializes as a focus; an
|
|
37
36
|
* overcome with <2 phases is delivery-sized, which is exactly the "foci
|
|
38
37
|
* treated as deliveries" failure this exists to kill.
|
|
39
|
-
* - obstacle:
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* - obstacle: does NOT require a clearance_predicate. The frontier advances on
|
|
39
|
+
* focus-completion (an overcome's focus finishing, all its deliveries passing
|
|
40
|
+
* their verify gates), not on a per-obstacle predicate. A clearancePredicate,
|
|
41
|
+
* if supplied, is advisory only (kept well-formed but not a frontier gate).
|
|
42
42
|
* Tests inject a stub `callApi`. See docs/prd-authoring-template.md.
|
|
43
43
|
*/
|
|
44
44
|
export declare function handleNodeCreate(params: {
|
|
@@ -27,40 +27,40 @@ const pathwayStatusEnum = z.enum(["option", "committed", "abandoned"]);
|
|
|
27
27
|
// gate can only enforce structure, not insight. See docs/prd-authoring-template.md.
|
|
28
28
|
const MIN_CAPTURED_INTENT_LEN = 40;
|
|
29
29
|
const MIN_EXPANSION_LEN = 200;
|
|
30
|
-
// The clearance-predicate kinds
|
|
31
|
-
//
|
|
32
|
-
//
|
|
33
|
-
//
|
|
30
|
+
// The clearance-predicate kinds recognized for a SUPPLIED (advisory) obstacle
|
|
31
|
+
// predicate. The per-obstacle deterministic clearance gate that once consumed
|
|
32
|
+
// these was RETIRED (it was a redundant second verify altitude, shadowed by the
|
|
33
|
+
// completion bridge), so a predicate no longer gates the frontier -- obstacle
|
|
34
|
+
// clearance is driven solely by focus-completion (an overcome's focus finishing
|
|
35
|
+
// with all its deliveries past their own verify gates). A predicate is OPTIONAL;
|
|
36
|
+
// this list is only used to keep a SUPPLIED predicate well-formed.
|
|
34
37
|
const VALID_CLEARANCE_KINDS = ["deterministic", "behavioral", "ai_inspection", "human"];
|
|
35
38
|
/**
|
|
36
|
-
* Validate that
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
* consciously choose an auto-clearing deterministic predicate (with runnable
|
|
45
|
-
* `checks`) vs a deferred kind that a human/AI must clear out of band.
|
|
39
|
+
* Validate that a SUPPLIED obstacle clearancePredicate is well-formed. The
|
|
40
|
+
* predicate is OPTIONAL and ADVISORY only -- it is NOT a frontier gate. The
|
|
41
|
+
* frontier advances on focus-completion (an overcome's focus finishing with all
|
|
42
|
+
* its deliveries past their own verify gates), not on a per-obstacle predicate.
|
|
43
|
+
* This check does not make the predicate a gate; it only stops a supplied
|
|
44
|
+
* predicate from being stored as malformed free-text junk. Returns an error
|
|
45
|
+
* message string if a supplied predicate is malformed, or null if acceptable.
|
|
46
|
+
* Exported pure for tests.
|
|
46
47
|
*/
|
|
47
48
|
export function validateClearancePredicate(cp) {
|
|
48
49
|
const kind = cp.kind;
|
|
49
50
|
if (typeof kind !== "string" || !VALID_CLEARANCE_KINDS.includes(kind)) {
|
|
50
51
|
return ("clearancePredicate.kind must be one of deterministic|behavioral|ai_inspection|human. " +
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"ONLY when a human or AI will clear the obstacle out of band (it will NOT auto-clear).");
|
|
52
|
+
"The predicate is OPTIONAL and ADVISORY -- it does NOT gate the frontier (the frontier advances " +
|
|
53
|
+
"on focus-completion, not on a per-obstacle predicate). But if you DO supply one it must be " +
|
|
54
|
+
"well-formed rather than free-text {check, criteria}: use {kind:'deterministic', " +
|
|
55
|
+
"checks:[{cmd:'<shell command>'}]} or a behavioral/ai_inspection/human kind. Omit the predicate " +
|
|
56
|
+
"entirely if you have no advisory note to record.");
|
|
57
57
|
}
|
|
58
58
|
if (kind === "deterministic") {
|
|
59
59
|
const checks = cp.checks;
|
|
60
60
|
if (!Array.isArray(checks) || checks.length === 0) {
|
|
61
61
|
return ("A deterministic clearancePredicate requires a non-empty `checks` array of " +
|
|
62
|
-
"[{cmd:'<shell command>', label?:'...'}].
|
|
63
|
-
"
|
|
62
|
+
"[{cmd:'<shell command>', label?:'...'}]. (A deterministic predicate with no checks records " +
|
|
63
|
+
"nothing.) The predicate is advisory only and does not gate the frontier.");
|
|
64
64
|
}
|
|
65
65
|
for (let i = 0; i < checks.length; i++) {
|
|
66
66
|
const c = checks[i];
|
|
@@ -109,6 +109,8 @@ export async function handlePrdCreate(params, callApi) {
|
|
|
109
109
|
body.visionProductId = params.visionProductId;
|
|
110
110
|
if (params.visionSnapshot !== undefined)
|
|
111
111
|
body.visionSnapshot = params.visionSnapshot;
|
|
112
|
+
if (params.starterRepoId !== undefined)
|
|
113
|
+
body.starterRepoId = params.starterRepoId;
|
|
112
114
|
if (params.status !== undefined)
|
|
113
115
|
body.status = params.status;
|
|
114
116
|
const result = (await callApi(body));
|
|
@@ -116,7 +118,7 @@ export async function handlePrdCreate(params, callApi) {
|
|
|
116
118
|
return successResult({
|
|
117
119
|
prd: params.returnFull
|
|
118
120
|
? prd
|
|
119
|
-
: compactEntity(prd, ["title", "status", "productId", "visionProductId"]),
|
|
121
|
+
: compactEntity(prd, ["title", "status", "productId", "visionProductId", "starterRepoId"]),
|
|
120
122
|
});
|
|
121
123
|
}
|
|
122
124
|
/**
|
|
@@ -125,9 +127,10 @@ export async function handlePrdCreate(params, callApi) {
|
|
|
125
127
|
* - overcome: requires >=2 phases. An overcome materializes as a focus; an
|
|
126
128
|
* overcome with <2 phases is delivery-sized, which is exactly the "foci
|
|
127
129
|
* treated as deliveries" failure this exists to kill.
|
|
128
|
-
* - obstacle:
|
|
129
|
-
*
|
|
130
|
-
*
|
|
130
|
+
* - obstacle: does NOT require a clearance_predicate. The frontier advances on
|
|
131
|
+
* focus-completion (an overcome's focus finishing, all its deliveries passing
|
|
132
|
+
* their verify gates), not on a per-obstacle predicate. A clearancePredicate,
|
|
133
|
+
* if supplied, is advisory only (kept well-formed but not a frontier gate).
|
|
131
134
|
* Tests inject a stub `callApi`. See docs/prd-authoring-template.md.
|
|
132
135
|
*/
|
|
133
136
|
export async function handleNodeCreate(params, callApi) {
|
|
@@ -144,16 +147,18 @@ export async function handleNodeCreate(params, callApi) {
|
|
|
144
147
|
}
|
|
145
148
|
}
|
|
146
149
|
if (params.nodeType === "obstacle") {
|
|
150
|
+
// An obstacle does NOT require a clearancePredicate. The frontier advances on
|
|
151
|
+
// FOCUS-COMPLETION (an overcome's focus finishing -- all its deliveries passing
|
|
152
|
+
// their own verify gates), not on a per-obstacle predicate. A clearancePredicate,
|
|
153
|
+
// if supplied, is ADVISORY only and is not evaluated as a frontier gate; we keep
|
|
154
|
+
// the shape check so a supplied predicate is at least well-formed.
|
|
147
155
|
const cp = params.clearancePredicate;
|
|
148
156
|
const hasPredicate = cp !== undefined && cp !== null && typeof cp === "object" && Object.keys(cp).length > 0;
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const shapeError = validateClearancePredicate(cp);
|
|
155
|
-
if (shapeError) {
|
|
156
|
-
return validationError(shapeError);
|
|
157
|
+
if (hasPredicate) {
|
|
158
|
+
const shapeError = validateClearancePredicate(cp);
|
|
159
|
+
if (shapeError) {
|
|
160
|
+
return validationError(shapeError);
|
|
161
|
+
}
|
|
157
162
|
}
|
|
158
163
|
}
|
|
159
164
|
const body = {
|
|
@@ -235,8 +240,8 @@ export function registerPrdTools(server, getCreds) {
|
|
|
235
240
|
"Authored from agent-harness dialog over MCP; there is no Telora authoring UI. " +
|
|
236
241
|
"Actions: list (productId, optional status filter), " +
|
|
237
242
|
"get (prdId -- returns the PRD with its full Prerequisite Tree: nodes and edges), " +
|
|
238
|
-
"create (productId + title + capturedIntent + expansion; optional goal, visionProductId [defaults to productId], visionSnapshot, status [default active]), " +
|
|
239
|
-
"update (prdId + any of title/goal/capturedIntent/expansion/status/visionSnapshot/committedPathId/assignedAgentRoleId -- assignedAgentRoleId is the PRD 'Play': set it to arm the milestone, null to pause). " +
|
|
243
|
+
"create (productId + title + capturedIntent + expansion; optional goal, visionProductId [defaults to productId], visionSnapshot, starterRepoId [a greenfield UI PRD should select a starter the factory clones at genesis], status [default active]), " +
|
|
244
|
+
"update (prdId + any of title/goal/capturedIntent/expansion/status/visionSnapshot/committedPathId/assignedAgentRoleId/starterRepoId -- assignedAgentRoleId is the PRD 'Play': set it to arm the milestone, null to pause; starterRepoId selects/clears the genesis starter). " +
|
|
240
245
|
"AUTHORING GATE: create requires capturedIntent (what the human actually said -- the STATED reference) " +
|
|
241
246
|
"AND expansion (the AI's full product derived from it -- capabilities with >=2 phases each, flows, data, " +
|
|
242
247
|
"non-functionals -- reasoning outward to what the dialog implies but did not state). The expansion must " +
|
|
@@ -245,7 +250,9 @@ export function registerPrdTools(server, getCreds) {
|
|
|
245
250
|
"node = the unique sink; (2) every obstacle paired via an overcomes edge (fromNodeId=overcome, " +
|
|
246
251
|
"toNodeId=obstacle) to >=1 overcome that dispels it; (3) prerequisite edges acyclic and converging toward " +
|
|
247
252
|
"the goal; (4) every overcome on a prerequisite path toward the goal; (5) every overcome capability-sized " +
|
|
248
|
-
"(>=2 phases)
|
|
253
|
+
"(>=2 phases). An obstacle does NOT require a clearancePredicate -- the frontier advances on focus-completion " +
|
|
254
|
+
"(an overcome's focus finishing, all its deliveries passing their own verify gates), not on a per-obstacle " +
|
|
255
|
+
"predicate; a clearancePredicate, if supplied, is advisory only. node_create and edge_create " +
|
|
249
256
|
"reject structural violations (second goal, prerequisite cycle) immediately; pathway_commit is the seal " +
|
|
250
257
|
"point and enforces the full set. Run telora_prd_tree validate to get the violation list before committing." +
|
|
251
258
|
LIST_INDEX_NOTE, {
|
|
@@ -262,6 +269,8 @@ export function registerPrdTools(server, getCreds) {
|
|
|
262
269
|
.describe("Product UUID whose Vision this PRD references (create only; defaults to productId)"),
|
|
263
270
|
visionSnapshot: z.string().max(20000).optional()
|
|
264
271
|
.describe("Point-in-time snapshot of the referenced Vision text"),
|
|
272
|
+
starterRepoId: z.string().uuid().nullable().optional()
|
|
273
|
+
.describe("Starter repo UUID the factory clones at product genesis (create/update; null clears). A greenfield UI PRD should SELECT a starter from the org library (telora_starter_repo) so the product begins above the UX floor instead of scaffolding from zero. Must be in the same org as the product."),
|
|
265
274
|
status: prdStatusEnum.optional().describe("PRD status (default active on create)"),
|
|
266
275
|
committedPathId: z.string().uuid().nullable().optional()
|
|
267
276
|
.describe("Pathway UUID committed as the chosen path (update only; null clears)"),
|
|
@@ -317,12 +326,14 @@ export function registerPrdTools(server, getCreds) {
|
|
|
317
326
|
body.committedPathId = params.committedPathId;
|
|
318
327
|
if (params.assignedAgentRoleId !== undefined)
|
|
319
328
|
body.assignedAgentRoleId = params.assignedAgentRoleId;
|
|
329
|
+
if (params.starterRepoId !== undefined)
|
|
330
|
+
body.starterRepoId = params.starterRepoId;
|
|
320
331
|
const result = (await callProductApi(getCreds(), body));
|
|
321
332
|
const prd = result.prd;
|
|
322
333
|
return successResult({
|
|
323
334
|
prd: params.returnFull
|
|
324
335
|
? prd
|
|
325
|
-
: compactEntity(prd, ["title", "status", "committedPathId", "assignedAgentRoleId"]),
|
|
336
|
+
: compactEntity(prd, ["title", "status", "committedPathId", "assignedAgentRoleId", "starterRepoId"]),
|
|
326
337
|
});
|
|
327
338
|
}
|
|
328
339
|
default:
|
|
@@ -332,19 +343,18 @@ export function registerPrdTools(server, getCreds) {
|
|
|
332
343
|
// -- telora_prd_tree -------------------------------------------------------
|
|
333
344
|
server.tool("telora_prd_tree", "PRD Prerequisite Tree authoring: goal / obstacle / overcome nodes wired by " +
|
|
334
345
|
"prerequisite / overcomes edges. Goldratt's Prerequisite Tree as the milestone planning layer. " +
|
|
335
|
-
"An overcome node materializes as an execution focus (set focusId);
|
|
336
|
-
"
|
|
346
|
+
"An overcome node materializes as an execution focus (set focusId); an obstacle MAY carry an advisory " +
|
|
347
|
+
"clearancePredicate but does not require one. Pathways hold options; one path is committed. " +
|
|
337
348
|
"Authored from agent-harness dialog over MCP -- no authoring UI. " +
|
|
338
349
|
"Node actions: node_list (prdId, optional nodeType/status filter), " +
|
|
339
350
|
"node_create (prdId + nodeType + statement; optional clearancePredicate, phases, focusId, sortOrder). " +
|
|
340
351
|
"AUTHORING GATES: an overcome (materializes as a focus) requires phases with >=2 entries -- the " +
|
|
341
|
-
"delivery-phases the capability decomposes into -- so foci are capability-sized, not delivery-sized
|
|
342
|
-
"
|
|
343
|
-
"
|
|
344
|
-
"
|
|
345
|
-
"
|
|
346
|
-
"
|
|
347
|
-
"human kinds are accepted but do NOT auto-clear (a human/AI must clear them out of band). " +
|
|
352
|
+
"delivery-phases the capability decomposes into -- so foci are capability-sized, not delivery-sized. " +
|
|
353
|
+
"An obstacle does NOT require a clearancePredicate: the frontier advances when an overcome's focus " +
|
|
354
|
+
"COMPLETES (all its deliveries pass their own verify gates) -- focus-completion is the single clearance " +
|
|
355
|
+
"signal, there is no per-obstacle predicate gate. A clearancePredicate, if supplied, is ADVISORY only and " +
|
|
356
|
+
"is not evaluated as a frontier gate (if supplied it must still be well-formed -- {kind:'deterministic', " +
|
|
357
|
+
"checks:[{cmd:'...'}]} or a behavioral/ai_inspection/human kind). " +
|
|
348
358
|
"node_update (nodeId + any of statement/status/clearancePredicate/phases/focusId/sortOrder). " +
|
|
349
359
|
"Edge actions: edge_list (prdId), " +
|
|
350
360
|
"edge_create (prdId + fromNodeId + toNodeId + edgeType; optional pathwayId), " +
|
|
@@ -366,7 +376,9 @@ export function registerPrdTools(server, getCreds) {
|
|
|
366
376
|
"dispels it; (3) prerequisite edges acyclic and converging toward the goal -- the vertical order IS the " +
|
|
367
377
|
"prerequisite sequence (obstacles annotate their overcome; they are not spine ranks); (4) every overcome " +
|
|
368
378
|
"on a prerequisite path toward the goal (no detached overcome); (5) every overcome capability-sized " +
|
|
369
|
-
"(>=2 phases)
|
|
379
|
+
"(>=2 phases). An obstacle does NOT require a clearancePredicate -- the frontier advances on focus-completion " +
|
|
380
|
+
"(an overcome's focus finishing, all its deliveries passing their verify gates), not on a per-obstacle " +
|
|
381
|
+
"predicate; a clearancePredicate, if supplied, is advisory only. node_create and " +
|
|
370
382
|
"edge_create reject STRUCTURAL violations immediately (a second goal, a prerequisite cycle); pathway_commit " +
|
|
371
383
|
"is the seal point and enforces the FULL set. Run validate any time to get the violation list before you commit." +
|
|
372
384
|
LIST_INDEX_NOTE, {
|
|
@@ -394,11 +406,11 @@ export function registerPrdTools(server, getCreds) {
|
|
|
394
406
|
status: prtNodeStatusEnum.optional()
|
|
395
407
|
.describe("Node status (node_update; optional filter for node_list; default open)"),
|
|
396
408
|
clearancePredicate: z.record(z.string(), z.unknown()).nullable().optional()
|
|
397
|
-
.describe("
|
|
398
|
-
"
|
|
399
|
-
"
|
|
400
|
-
"
|
|
401
|
-
"
|
|
409
|
+
.describe("OPTIONAL advisory predicate on an obstacle (NOT required, NOT a frontier gate). The frontier advances on " +
|
|
410
|
+
"focus-completion (an overcome's focus finishing, all its deliveries passing their verify gates), not on a " +
|
|
411
|
+
"per-obstacle predicate. If you do supply one it documents the author's notion of 'done' but is not evaluated; " +
|
|
412
|
+
"it must still be well-formed: {kind:'deterministic', checks:[{cmd:'<shell command>', label?:'...'}]} or a " +
|
|
413
|
+
"behavioral|ai_inspection|human kind. Free-text/prose predicates with no `kind` are rejected."),
|
|
402
414
|
phases: z.array(z.string().max(500)).optional()
|
|
403
415
|
.describe("Delivery-phases an overcome capability decomposes into (>=2 required for overcome node_create). Name them; do NOT scope to issues -- the focus team does that at execution."),
|
|
404
416
|
focusId: z.string().uuid().nullable().optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prdHandlers.js","sourceRoot":"","sources":["../../src/handlers/prdHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prdHandlers.js","sourceRoot":"","sources":["../../src/handlers/prdHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,5 +84,37 @@ export declare function handleRealityTreeCreate(params: {
|
|
|
84
84
|
text: string;
|
|
85
85
|
}[];
|
|
86
86
|
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Pure handler for reality_tree_node action=choice_set_create. Validates that
|
|
89
|
+
* at least two competing injection node ids were supplied, then forwards them
|
|
90
|
+
* to product-api `reality_tree_choice_set_create`, which enforces same-tree +
|
|
91
|
+
* shared-target-UDE and assigns a fresh choice_set_id. Tests inject a stub
|
|
92
|
+
* `callApi`.
|
|
93
|
+
*/
|
|
94
|
+
export declare function handleRealityTreeChoiceSetCreate(params: {
|
|
95
|
+
injectionNodeIds?: string[];
|
|
96
|
+
}, callApi: CallApi): Promise<{
|
|
97
|
+
content: {
|
|
98
|
+
type: "text";
|
|
99
|
+
text: string;
|
|
100
|
+
}[];
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Pure handler for reality_tree_node action=choice_set_commit. Requires the
|
|
104
|
+
* chosen injection node id (which must already carry a choice_set_id) and a
|
|
105
|
+
* non-empty rationale; forwards them to product-api
|
|
106
|
+
* `reality_tree_choice_set_commit`, which stamps the rationale on the winner
|
|
107
|
+
* (kept active) and demotes every other member to rejected_alternative
|
|
108
|
+
* (RETAINED). Tests inject a stub `callApi`.
|
|
109
|
+
*/
|
|
110
|
+
export declare function handleRealityTreeChoiceSetCommit(params: {
|
|
111
|
+
chosenInjectionNodeId?: string;
|
|
112
|
+
commitRationale?: string;
|
|
113
|
+
}, callApi: CallApi): Promise<{
|
|
114
|
+
content: {
|
|
115
|
+
type: "text";
|
|
116
|
+
text: string;
|
|
117
|
+
}[];
|
|
118
|
+
}>;
|
|
87
119
|
export declare function registerRealityTreeTools(server: McpServer, getCreds: GetCreds): void;
|
|
88
120
|
export {};
|