@pathmode/mcp-server 1.23.0 → 1.25.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.
- package/README.md +2 -0
- package/dist/index.js +145 -39
- package/dist/packages/mcp-server/src/api-client.d.ts +68 -3
- package/dist/packages/mcp-server/src/api-client.d.ts.map +1 -1
- package/dist/packages/mcp-server/src/measurement-schema.d.ts +18 -18
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/skills/implement-intent/SKILL.md +4 -0
- package/skills/review-against-intent/SKILL.md +2 -0
package/README.md
CHANGED
|
@@ -241,6 +241,8 @@ Pass `--local` only to force local mode when an API key *is* configured:
|
|
|
241
241
|
|------|-------------|
|
|
242
242
|
| `get_current_intent` | Get the active intent (first approved, or most recent) |
|
|
243
243
|
| `get_intent` | Get a single intent by ID with full details |
|
|
244
|
+
| `get_intent_evidence` | Dereference one intent's repo-safe evidence IDs with trust tiers |
|
|
245
|
+
| `propose_spec_change` | Propose an exact, revision-bound correction for a person to accept; stores the observation as unreviewed agent evidence |
|
|
244
246
|
| `list_intents` | List all intents, optionally filtered by status |
|
|
245
247
|
| `search_intents` | Search intents by keyword across goals, objectives, and outcomes |
|
|
246
248
|
| `update_intent_status` | Update intent status (draft > validated > approved > shipped > verified) |
|
package/dist/index.js
CHANGED
|
@@ -39892,6 +39892,15 @@ class PathmodeClient {
|
|
|
39892
39892
|
if (!response.ok) {
|
|
39893
39893
|
const body = await response.json().catch(() => ({ error: response.statusText }));
|
|
39894
39894
|
console.error(`[pathmode-mcp] API error ${response.status}: ${body.error || response.statusText}`);
|
|
39895
|
+
// A 403 with a server code is a policy answer (SESSION_REQUIRED, REPO_OWNED_FIELDS, …),
|
|
39896
|
+
// not a rejected key: relay it verbatim instead of telling the agent to re-run setup.
|
|
39897
|
+
if (response.status === 403 && body.code) {
|
|
39898
|
+
throw new Error(`API error (403) [${body.code}]: ${body.error || response.statusText}`);
|
|
39899
|
+
}
|
|
39900
|
+
// Validation failures carry field-level details; relay them so the agent can fix the call.
|
|
39901
|
+
if (response.status === 400 && body.details) {
|
|
39902
|
+
throw new Error(`API error (400)${body.code ? ` [${body.code}]` : ''}: ${body.error || 'Invalid request'} ${JSON.stringify(body.details)}`);
|
|
39903
|
+
}
|
|
39895
39904
|
// A rejected key is the sharpest first-run cliff: with a stale key EVERY tool
|
|
39896
39905
|
// fails, and the agent relays this error verbatim, so the error must carry its
|
|
39897
39906
|
// own fix. (No fallback to local mode here: silently ignoring a configured key
|
|
@@ -39999,6 +40008,16 @@ class PathmodeClient {
|
|
|
39999
40008
|
const res = await this.fetch(`/intents/${id}`);
|
|
40000
40009
|
return res.json();
|
|
40001
40010
|
}
|
|
40011
|
+
/**
|
|
40012
|
+
* The evidence an intent cites, resolved server-side through the trust contract: excluded
|
|
40013
|
+
* (archived/dismissed) items never appear, every item carries `tier`, and `evidenceTiers` is
|
|
40014
|
+
* computed over the same cited set. Replaces paging the product pool, which could miss older
|
|
40015
|
+
* citations and disagree with the intent's own tier counts.
|
|
40016
|
+
*/
|
|
40017
|
+
async getIntentEvidence(id) {
|
|
40018
|
+
const res = await this.fetch(`/intents/${id}/evidence`);
|
|
40019
|
+
return res.json();
|
|
40020
|
+
}
|
|
40002
40021
|
async completeRepoOnboarding(sessionId, intentId) {
|
|
40003
40022
|
const res = await this.fetch('/onboarding/repo/complete', {
|
|
40004
40023
|
method: 'POST',
|
|
@@ -40103,12 +40122,26 @@ class PathmodeClient {
|
|
|
40103
40122
|
});
|
|
40104
40123
|
return res.json();
|
|
40105
40124
|
}
|
|
40106
|
-
async listIntentChangeRequests(intentId, status = 'open') {
|
|
40107
|
-
const res = await this.fetch(`/intents/${intentId}/change-requests?status=${encodeURIComponent(status)}`);
|
|
40125
|
+
async listIntentChangeRequests(intentId, status = 'open', include = 'consumable') {
|
|
40126
|
+
const res = await this.fetch(`/intents/${intentId}/change-requests?status=${encodeURIComponent(status)}&include=${include}`);
|
|
40108
40127
|
return res.json();
|
|
40109
40128
|
}
|
|
40110
|
-
async listWorkspaceIntentChangeRequests(status = 'open') {
|
|
40111
|
-
const res = await this.fetch(`/change-requests?status=${encodeURIComponent(status)}`);
|
|
40129
|
+
async listWorkspaceIntentChangeRequests(status = 'open', include = 'consumable') {
|
|
40130
|
+
const res = await this.fetch(`/change-requests?status=${encodeURIComponent(status)}&include=${include}`);
|
|
40131
|
+
return res.json();
|
|
40132
|
+
}
|
|
40133
|
+
/**
|
|
40134
|
+
* Agent-proposed correction (agent-proposed-corrections.md): records a structured proposal
|
|
40135
|
+
* against one exact base revision, answering an implementation finding. The server stores it
|
|
40136
|
+
* as a change request the repository agent may NOT consume until a signed-in person accepts
|
|
40137
|
+
* it, and writes one origin='agent' evidence row anchored to the claim. Nothing in the spec
|
|
40138
|
+
* changes as a result of this call.
|
|
40139
|
+
*/
|
|
40140
|
+
async proposeSpecChange(intentId, body) {
|
|
40141
|
+
const res = await this.fetch(`/intents/${intentId}/change-requests`, {
|
|
40142
|
+
method: 'POST',
|
|
40143
|
+
body: JSON.stringify(body),
|
|
40144
|
+
});
|
|
40112
40145
|
return res.json();
|
|
40113
40146
|
}
|
|
40114
40147
|
async getIntentChangeRequest(intentId, requestId) {
|
|
@@ -72866,7 +72899,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"$schema":"http://json-schema.org/dra
|
|
|
72866
72899
|
/***/ ((module) => {
|
|
72867
72900
|
|
|
72868
72901
|
"use strict";
|
|
72869
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@pathmode/mcp-server","version":"1.
|
|
72902
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@pathmode/mcp-server","version":"1.25.0","publishConfig":{"access":"public"},"mcpName":"io.github.pathmodeio/mcp-server","description":"Deterministic intent preflight before your agent builds: six calibrated gates, keyless, no model call. Draft and sharpen specs in conversation, or connect a Pathmode workspace to sync intent and evidence across a team.","main":"dist/index.js","bin":{"pathmode-mcp":"dist/index.js"},"files":["dist/","manifest.json","icon.svg","README.md","skills/"],"scripts":{"build":"rm -rf dist && ncc build src/index.ts -o dist","dev":"ts-node src/index.ts","prepublishOnly":"npm run build"},"keywords":["pathmode","mcp","model-context-protocol","claude-code","claude-code-skills","agent-skills","cursor","windsurf","intent-engineering","intent-compiler","ai-agents","product-development","dependency-graph","strategic-planning"],"author":"Pathmode","license":"MIT","type":"commonjs","engines":{"node":">=18.0.0"},"homepage":"https://pathmode.io","dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","gray-matter":"^4.0.3","zod":"^3.24.0"},"overrides":{"@hono/node-server":"^1.19.17","body-parser":"^2.3.0","fast-uri":"^3.1.6","hono":"^4.13.5","ip-address":"^10.7.0","js-yaml":"^3.15.2"},"devDependencies":{"@types/node":"^25.1.0","@vercel/ncc":"^0.38.4","ts-node":"^10.9.2","typescript":"^5.9.3"}}');
|
|
72870
72903
|
|
|
72871
72904
|
/***/ })
|
|
72872
72905
|
|
|
@@ -73239,6 +73272,9 @@ function startMcpServer() {
|
|
|
73239
73272
|
citedCount: collectCitedEvidenceIds(intent).length,
|
|
73240
73273
|
linkedCount: (intent?.evidenceIds || []).length,
|
|
73241
73274
|
anchoredSections: Object.keys(intent?.evidenceAnchors || {}).length,
|
|
73275
|
+
// Trust tiers (evidence-trust-contract.md): only `backing` is human-reviewed evidence;
|
|
73276
|
+
// `unreviewed` was captured but not reviewed; `assumption` is an AI-drafted hypothesis.
|
|
73277
|
+
tiers: intent?.evidenceTiers ?? undefined,
|
|
73242
73278
|
note: 'Evidence is referenced by ID. Call get_agent_prompt for the full evidence-backed execution prompt, or re-call get_current_intent with include_evidence=true to inline the evidence content and get per-tier (backing/unreviewed/assumption) counts.',
|
|
73243
73279
|
};
|
|
73244
73280
|
}
|
|
@@ -73282,25 +73318,21 @@ function startMcpServer() {
|
|
|
73282
73318
|
const current = listed?.id
|
|
73283
73319
|
? (await cloud.getIntent(listed.id).catch(() => listed))
|
|
73284
73320
|
: listed;
|
|
73285
|
-
// Default: a fetch-free coverage summary (no extra API call). On request:
|
|
73286
|
-
//
|
|
73321
|
+
// Default: a fetch-free coverage summary (no extra API call). On request: resolve exactly
|
|
73322
|
+
// this intent's cited evidence through the trust-contract endpoint.
|
|
73287
73323
|
const evidenceSummary = summarizeCitedEvidence(current);
|
|
73288
73324
|
let evidence;
|
|
73289
73325
|
let evidenceTiers;
|
|
73290
73326
|
let unresolvedEvidenceIds;
|
|
73291
|
-
if (include_evidence && current?.
|
|
73327
|
+
if (include_evidence && current?.id) {
|
|
73292
73328
|
const cited = collectCitedEvidenceIds(current);
|
|
73293
73329
|
if (cited.length > 0) {
|
|
73294
|
-
//
|
|
73295
|
-
//
|
|
73296
|
-
//
|
|
73297
|
-
//
|
|
73298
|
-
const
|
|
73299
|
-
const
|
|
73300
|
-
const items = cited
|
|
73301
|
-
.map(id => found.get(id))
|
|
73302
|
-
.filter((e) => !!e)
|
|
73303
|
-
.map(e => ({
|
|
73330
|
+
// One handoff call: the server resolves exactly this intent's citations through the
|
|
73331
|
+
// trust contract (lib/evidence/evidenceTier.ts owns tiering; this package applies no
|
|
73332
|
+
// policy of its own), so nothing is lost to paging and the tier totals here are the
|
|
73333
|
+
// same numbers the intent endpoint reports. The server records the exposure.
|
|
73334
|
+
const resolved = await cloud.getIntentEvidence(current.id);
|
|
73335
|
+
const items = resolved.evidence.map(e => ({
|
|
73304
73336
|
id: e.id,
|
|
73305
73337
|
type: e.type,
|
|
73306
73338
|
content: e.content.length > 200 ? `${e.content.slice(0, 200)}…` : e.content,
|
|
@@ -73310,24 +73342,14 @@ function startMcpServer() {
|
|
|
73310
73342
|
triageStatus: e.triageStatus,
|
|
73311
73343
|
tier: e.tier,
|
|
73312
73344
|
}));
|
|
73313
|
-
// Group by trust tier — backing first, then unreviewed, then assumption. This
|
|
73314
|
-
// package trusts the `tier` the API computed server-side (lib/evidence/evidenceTier.ts
|
|
73315
|
-
// owns tiering) and applies no policy of its own; an item without a tier (should not
|
|
73316
|
-
// happen once the deploy carries the trust-contract API) falls back to 'unreviewed'
|
|
73317
|
-
// rather than being silently dropped.
|
|
73318
73345
|
evidence = { backing: [], unreviewed: [], assumption: [] };
|
|
73319
73346
|
for (const item of items) {
|
|
73320
73347
|
const t = item.tier === 'backing' || item.tier === 'assumption' ? item.tier : 'unreviewed';
|
|
73321
73348
|
evidence[t].push(item);
|
|
73322
73349
|
}
|
|
73323
|
-
evidenceTiers =
|
|
73324
|
-
|
|
73325
|
-
|
|
73326
|
-
assumption: evidence.assumption.length,
|
|
73327
|
-
};
|
|
73328
|
-
const missing = cited.filter(id => !found.has(id));
|
|
73329
|
-
if (missing.length > 0)
|
|
73330
|
-
unresolvedEvidenceIds = missing;
|
|
73350
|
+
evidenceTiers = resolved.evidenceTiers;
|
|
73351
|
+
if (resolved.unresolvedEvidenceIds.length > 0)
|
|
73352
|
+
unresolvedEvidenceIds = resolved.unresolvedEvidenceIds;
|
|
73331
73353
|
}
|
|
73332
73354
|
}
|
|
73333
73355
|
return { content: [{ type: 'text', text: JSON.stringify({ ...current, evidenceSummary, ...(evidence ? { evidence, evidenceTiers } : {}), ...(unresolvedEvidenceIds ? { unresolvedEvidenceIds } : {}) }, null, 2) }] };
|
|
@@ -73379,19 +73401,31 @@ function startMcpServer() {
|
|
|
73379
73401
|
return { content: [{ type: 'text', text: `Failed to fetch intent: ${e.message}` }] };
|
|
73380
73402
|
}
|
|
73381
73403
|
});
|
|
73404
|
+
cloudOnly.registerTool('get_intent_evidence', {
|
|
73405
|
+
title: 'Get Intent Evidence',
|
|
73406
|
+
description: 'Resolve the evidence cited by one intent using its full ID. Returns handoff-visible items with server-computed trust tiers and exact tier counts. Use this to dereference evidence IDs carried by repo-safe intent.md, CLAUDE.md, AGENTS.md, and .cursorrules files.',
|
|
73407
|
+
inputSchema: {
|
|
73408
|
+
intentId: zod_1.z.string().describe('The full intent ID whose cited evidence should be resolved'),
|
|
73409
|
+
},
|
|
73410
|
+
annotations: READ_ONLY,
|
|
73411
|
+
}, async ({ intentId }) => {
|
|
73412
|
+
const resolved = await requireCloudClient().getIntentEvidence(intentId);
|
|
73413
|
+
return { content: [{ type: 'text', text: JSON.stringify(resolved, null, 2) }] };
|
|
73414
|
+
});
|
|
73382
73415
|
cloudOnly.registerTool('list_intent_change_requests', {
|
|
73383
73416
|
title: 'List Intent Change Requests',
|
|
73384
73417
|
description: 'List structured PM requests waiting on this repository. Omit intentId to discover open requests across the connected workspace; pass it to narrow to one intent. Read these before editing intent.md. Each open request is bound to one baseRepoBodyRevision; pass its id and base revision to intent_save when you deliberately apply it.',
|
|
73385
73418
|
inputSchema: {
|
|
73386
73419
|
intentId: zod_1.z.string().optional().describe('Repository-authority intent to inspect. Omit to list workspace-wide.'),
|
|
73387
73420
|
status: zod_1.z.enum(['open', 'applied', 'rejected', 'withdrawn', 'superseded', 'all']).optional().describe('Lifecycle filter; defaults to open'),
|
|
73421
|
+
include: zod_1.z.enum(['consumable', 'proposals', 'all']).optional().describe('consumable (default) = PM judgment you may act on; proposals = your own pending propose_spec_change proposals awaiting a human; all = both. Only act on rows with consumable=true.'),
|
|
73388
73422
|
},
|
|
73389
73423
|
annotations: READ_ONLY,
|
|
73390
|
-
}, async ({ intentId, status }) => {
|
|
73424
|
+
}, async ({ intentId, status, include }) => {
|
|
73391
73425
|
const cloud = requireCloudClient();
|
|
73392
73426
|
const result = intentId
|
|
73393
|
-
? await cloud.listIntentChangeRequests(intentId, status ?? 'open')
|
|
73394
|
-
: await cloud.listWorkspaceIntentChangeRequests(status ?? 'open');
|
|
73427
|
+
? await cloud.listIntentChangeRequests(intentId, status ?? 'open', include ?? 'consumable')
|
|
73428
|
+
: await cloud.listWorkspaceIntentChangeRequests(status ?? 'open', include ?? 'consumable');
|
|
73395
73429
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
73396
73430
|
});
|
|
73397
73431
|
cloudOnly.registerTool('get_intent_change_request', {
|
|
@@ -73424,6 +73458,49 @@ function startMcpServer() {
|
|
|
73424
73458
|
}],
|
|
73425
73459
|
};
|
|
73426
73460
|
});
|
|
73461
|
+
const proposeSpecChangeTargetField = zod_1.z.enum([
|
|
73462
|
+
'title', 'severity', 'objective', 'currentState', 'outcomes', 'scope.inScope', 'scope.outOfScope',
|
|
73463
|
+
'constraints', 'healthMetrics', 'edgeCases', 'decisions', 'verification', 'implementationContext',
|
|
73464
|
+
]);
|
|
73465
|
+
cloudOnly.registerTool('propose_spec_change', {
|
|
73466
|
+
title: 'Propose Spec Change',
|
|
73467
|
+
description: 'Propose an exact correction to the intent when building it revealed the spec is wrong. This records a proposal for a signed-in person to accept or reject; it does NOT change the spec, and you must not implement against the proposed value until list_intent_change_requests shows the request with consumable=true. Pair it with the implementation finding behind it (findingId from record_implementation_finding, or record the finding inline). The observation is also stored as unreviewed agent evidence anchored to the claim it concerns. Use intent_save only for PM requests you were asked to apply, never for your own proposal.',
|
|
73468
|
+
inputSchema: {
|
|
73469
|
+
intentId: zod_1.z.string().describe('The repository-authority intent'),
|
|
73470
|
+
baseRepoBodyRevision: zod_1.z.string().regex(/^[a-f0-9]{64}$/i).describe('The exact repoBodyRevision you read; the proposal is bound to it'),
|
|
73471
|
+
targetField: proposeSpecChangeTargetField.describe('Which part of the spec the correction targets'),
|
|
73472
|
+
targetItemId: zod_1.z.string().optional().describe('Stable item id for outcomes / edgeCases / decisions / verification checks'),
|
|
73473
|
+
operation: zod_1.z.enum(['replace', 'add', 'remove']).describe('Scalars support replace only'),
|
|
73474
|
+
expectedOldValue: zod_1.z.any().optional().describe('The current value as you read it (required for replace/remove without a stable id); a mismatch is refused, never silently rebased'),
|
|
73475
|
+
proposedValue: zod_1.z.any().optional().describe('The corrected value (required for replace/add)'),
|
|
73476
|
+
reason: zod_1.z.string().trim().min(1).max(4_000).describe('The contradiction: what building it revealed and why the spec should change (max 4000 chars)'),
|
|
73477
|
+
findingId: zod_1.z.string().optional().describe('Id of a finding you already recorded with record_implementation_finding'),
|
|
73478
|
+
finding: zod_1.z.object({
|
|
73479
|
+
assumption: zod_1.z.string().trim().min(1),
|
|
73480
|
+
finding: zod_1.z.string().trim().min(1),
|
|
73481
|
+
target: zod_1.z.string().optional(),
|
|
73482
|
+
source: zod_1.z.string().optional(),
|
|
73483
|
+
}).optional().describe('Record the finding inline instead of passing findingId'),
|
|
73484
|
+
sourceUrl: zod_1.z.string().url().refine(u => /^https?:\/\//i.test(u), 'sourceUrl must be an http(s) URL').optional().describe('PR or commit link for the observation (http/https)'),
|
|
73485
|
+
},
|
|
73486
|
+
annotations: WRITE_OP,
|
|
73487
|
+
}, async ({ intentId, ...body }) => {
|
|
73488
|
+
if (!body.findingId && !body.finding) {
|
|
73489
|
+
return { content: [{ type: 'text', text: 'A proposal must answer an implementation finding: pass findingId (from record_implementation_finding) or record the finding inline with `finding`.' }] };
|
|
73490
|
+
}
|
|
73491
|
+
const result = await requireCloudClient().proposeSpecChange(intentId, body);
|
|
73492
|
+
const cr = result.changeRequest;
|
|
73493
|
+
return {
|
|
73494
|
+
content: [{
|
|
73495
|
+
type: 'text',
|
|
73496
|
+
text: [
|
|
73497
|
+
`Proposal ${cr.id} recorded against revision ${cr.baseRepoBodyRevision} (${cr.operation} ${cr.targetField}${cr.targetItemId ? ` ${cr.targetItemId}` : ''}).`,
|
|
73498
|
+
`Adjudication: ${cr.adjudication ?? 'pending'}. A signed-in person must accept it before the repository agent may apply it; keep implementing against the current authorized revision.`,
|
|
73499
|
+
cr.evidenceItemId ? `The observation is stored as unreviewed agent evidence ${cr.evidenceItemId}, anchored to the claim.` : 'The proposal was stored; the evidence row could not be written.',
|
|
73500
|
+
].join('\n'),
|
|
73501
|
+
}],
|
|
73502
|
+
};
|
|
73503
|
+
});
|
|
73427
73504
|
const outcomeInputShape = zod_1.z.union([
|
|
73428
73505
|
zod_1.z.string().trim().min(1),
|
|
73429
73506
|
zod_1.z.object({
|
|
@@ -73801,10 +73878,38 @@ function startMcpServer() {
|
|
|
73801
73878
|
return { content: [{ type: 'text', text: 'Agent prompts require cloud mode for full context generation.' }] };
|
|
73802
73879
|
}
|
|
73803
73880
|
const cloud = requireCloudClient();
|
|
73804
|
-
|
|
73881
|
+
// Fail CLOSED: if change-request state cannot be read, the prompt must say so and block
|
|
73882
|
+
// implementation rather than silently presenting the intent as free of open requests.
|
|
73883
|
+
let requestStateUnavailable = false;
|
|
73884
|
+
const unavailable = () => { requestStateUnavailable = true; return { changeRequests: [], count: 0 }; };
|
|
73885
|
+
const [result, openRequests, pendingProposals] = await Promise.all([
|
|
73805
73886
|
cloud.getIntentPrompt(intentId, 'claude-code', mode || 'execute'),
|
|
73806
|
-
cloud.listIntentChangeRequests(intentId, 'open').catch(
|
|
73887
|
+
cloud.listIntentChangeRequests(intentId, 'open', 'consumable').catch(unavailable),
|
|
73888
|
+
cloud.listIntentChangeRequests(intentId, 'open', 'proposals').catch(unavailable),
|
|
73807
73889
|
]);
|
|
73890
|
+
const unavailableBlock = requestStateUnavailable
|
|
73891
|
+
? [
|
|
73892
|
+
'# CHANGE-REQUEST STATE UNAVAILABLE — DO NOT IMPLEMENT',
|
|
73893
|
+
'',
|
|
73894
|
+
'Pathmode could not read the open PM change requests for this intent. There may be judgment waiting that this prompt cannot show. Retry get_agent_prompt or list_intent_change_requests before doing any implementation work against this spec.',
|
|
73895
|
+
'',
|
|
73896
|
+
'---',
|
|
73897
|
+
'',
|
|
73898
|
+
].join('\n')
|
|
73899
|
+
: '';
|
|
73900
|
+
// Your own unaccepted proposals: listed so you neither re-propose them nor build on them.
|
|
73901
|
+
const proposalBlock = pendingProposals.changeRequests.length > 0
|
|
73902
|
+
? [
|
|
73903
|
+
'# YOUR PENDING PROPOSALS — AWAITING A HUMAN DECISION',
|
|
73904
|
+
'',
|
|
73905
|
+
'You proposed these corrections; nobody has accepted them yet. Do not propose them again and do not implement against the proposed values. Keep building against the current authorized revision.',
|
|
73906
|
+
'',
|
|
73907
|
+
...pendingProposals.changeRequests.map((request) => `- ${request.id}: ${request.operation} ${request.targetField}${request.targetItemId ? ` (${request.targetItemId})` : ''} — ${request.reason}`),
|
|
73908
|
+
'',
|
|
73909
|
+
'---',
|
|
73910
|
+
'',
|
|
73911
|
+
].join('\n')
|
|
73912
|
+
: '';
|
|
73808
73913
|
const requestBlock = openRequests.changeRequests.length > 0
|
|
73809
73914
|
? [
|
|
73810
73915
|
'# OPEN PM CHANGE REQUESTS — HANDLE BEFORE IMPLEMENTATION',
|
|
@@ -73827,7 +73932,7 @@ function startMcpServer() {
|
|
|
73827
73932
|
return {
|
|
73828
73933
|
content: [{
|
|
73829
73934
|
type: 'text',
|
|
73830
|
-
text: `${requestBlock}${result.prompt}`,
|
|
73935
|
+
text: `${unavailableBlock}${requestBlock}${proposalBlock}${result.prompt}`,
|
|
73831
73936
|
}]
|
|
73832
73937
|
};
|
|
73833
73938
|
});
|
|
@@ -73977,10 +74082,11 @@ function startMcpServer() {
|
|
|
73977
74082
|
}
|
|
73978
74083
|
const result = await requireCloudClient().recordFinding(intentId, { assumption, finding, target, correction, source });
|
|
73979
74084
|
const openCount = result?.openCount;
|
|
74085
|
+
const findingId = result?.finding?.id;
|
|
73980
74086
|
return {
|
|
73981
74087
|
content: [{
|
|
73982
74088
|
type: 'text',
|
|
73983
|
-
text: `Finding recorded for intent ${intentId}. The next agent that pulls this intent will see it flagged as unreconciled until a human folds it into the spec.${typeof openCount === 'number' ? ` Open findings now: ${openCount}.` : ''}
|
|
74089
|
+
text: `Finding recorded for intent ${intentId}${findingId ? ` (findingId: ${findingId})` : ''}. The next agent that pulls this intent will see it flagged as unreconciled until a human folds it into the spec.${typeof openCount === 'number' ? ` Open findings now: ${openCount}.` : ''} If you can name the exact correction, call propose_spec_change with this findingId.`
|
|
73984
74090
|
}]
|
|
73985
74091
|
};
|
|
73986
74092
|
});
|
|
@@ -74102,7 +74208,7 @@ function startMcpServer() {
|
|
|
74102
74208
|
});
|
|
74103
74209
|
cloudOnly.registerTool('query_evidence', {
|
|
74104
74210
|
title: 'Query Evidence',
|
|
74105
|
-
description: 'Search evidence items (friction points, user quotes, observations, metrics, feature requests) by product, type, severity, or text.
|
|
74211
|
+
description: 'Search handoff-visible evidence items (friction points, user quotes, observations, metrics, feature requests) by product, type, severity, or text. Dismissed and archived evidence never leave the store through this tool. Every item carries a `tier`: "backing" is human-reviewed evidence; "unreviewed" is captured but not yet reviewed by a person; "assumption" is an AI-drafted hypothesis, not observed — never treat unreviewed or assumption items as confirmed user feedback.',
|
|
74106
74212
|
inputSchema: {
|
|
74107
74213
|
productId: zod_1.z.string().optional().describe('Filter by product (Space) ID'),
|
|
74108
74214
|
type: zod_1.z.enum(['friction', 'quote', 'observation', 'metric', 'request']).optional().describe('Filter by evidence type'),
|
|
@@ -44,6 +44,13 @@ export interface IntentDecision {
|
|
|
44
44
|
}
|
|
45
45
|
export interface ApiIntent {
|
|
46
46
|
id: string;
|
|
47
|
+
/** Per-tier counts of the evidence this intent cites (server >= 1.24 API). Metadata only. */
|
|
48
|
+
evidenceTiers?: {
|
|
49
|
+
backing: number;
|
|
50
|
+
unreviewed: number;
|
|
51
|
+
assumption: number;
|
|
52
|
+
excluded: number;
|
|
53
|
+
};
|
|
47
54
|
/** Which side owns the spec body. Absent only when talking to an older server. */
|
|
48
55
|
specAuthority?: 'cloud' | 'repo';
|
|
49
56
|
/** Opaque semantic revision of the repository-owned body; never computed by the client. */
|
|
@@ -212,6 +219,24 @@ export interface UpdateIntentInput {
|
|
|
212
219
|
*/
|
|
213
220
|
confirmations?: Record<string, unknown>[];
|
|
214
221
|
}
|
|
222
|
+
export type ChangeRequestInclude = 'consumable' | 'proposals' | 'all';
|
|
223
|
+
export interface ProposeSpecChangeBody {
|
|
224
|
+
baseRepoBodyRevision: string;
|
|
225
|
+
targetField: string;
|
|
226
|
+
targetItemId?: string;
|
|
227
|
+
operation: 'replace' | 'add' | 'remove';
|
|
228
|
+
expectedOldValue?: unknown;
|
|
229
|
+
proposedValue?: unknown;
|
|
230
|
+
reason: string;
|
|
231
|
+
findingId?: string;
|
|
232
|
+
finding?: {
|
|
233
|
+
assumption: string;
|
|
234
|
+
finding: string;
|
|
235
|
+
target?: string;
|
|
236
|
+
source?: string;
|
|
237
|
+
};
|
|
238
|
+
sourceUrl?: string;
|
|
239
|
+
}
|
|
215
240
|
export interface ApiIntentChangeRequest {
|
|
216
241
|
id: string;
|
|
217
242
|
intentId: string;
|
|
@@ -223,7 +248,19 @@ export interface ApiIntentChangeRequest {
|
|
|
223
248
|
operation: 'replace' | 'add' | 'remove';
|
|
224
249
|
proposedValue?: unknown;
|
|
225
250
|
reason: string;
|
|
226
|
-
|
|
251
|
+
/** Set for PM-authored requests; absent on agent proposals. */
|
|
252
|
+
authorUserId?: string;
|
|
253
|
+
/** 'session' = PM judgment; 'api-key' = an agent proposal awaiting human acceptance. */
|
|
254
|
+
authorPrincipal?: 'session' | 'api-key';
|
|
255
|
+
/** The implementation finding an agent proposal answers. */
|
|
256
|
+
findingId?: string;
|
|
257
|
+
/** 'pending' | 'accepted' for agent proposals; null for PM requests. Never re-derive it. */
|
|
258
|
+
adjudication?: 'pending' | 'accepted' | null;
|
|
259
|
+
/** Whether the repository agent may act on this request right now. Only act when true. */
|
|
260
|
+
consumable?: boolean;
|
|
261
|
+
acceptedAt?: number;
|
|
262
|
+
/** The origin='agent' evidence row written with a proposal. */
|
|
263
|
+
evidenceItemId?: string;
|
|
227
264
|
status: 'open' | 'applied' | 'rejected' | 'withdrawn' | 'superseded';
|
|
228
265
|
firstConsumedAt?: number;
|
|
229
266
|
lastConsumedAt?: number;
|
|
@@ -386,6 +423,17 @@ export interface ApiEvidence {
|
|
|
386
423
|
createdAt: string;
|
|
387
424
|
updatedAt: string;
|
|
388
425
|
}
|
|
426
|
+
export interface ApiIntentEvidence {
|
|
427
|
+
intentId: string;
|
|
428
|
+
evidence: ApiEvidence[];
|
|
429
|
+
evidenceTiers: {
|
|
430
|
+
backing: number;
|
|
431
|
+
unreviewed: number;
|
|
432
|
+
assumption: number;
|
|
433
|
+
excluded: number;
|
|
434
|
+
};
|
|
435
|
+
unresolvedEvidenceIds: string[];
|
|
436
|
+
}
|
|
389
437
|
export interface ApiWorkspace {
|
|
390
438
|
id: string;
|
|
391
439
|
name: string;
|
|
@@ -484,6 +532,13 @@ export declare class PathmodeClient {
|
|
|
484
532
|
recordToolCall(tool: string, outcome: 'ok' | 'error', repo?: string | null): Promise<void>;
|
|
485
533
|
listIntents(status?: string): Promise<ApiIntent[]>;
|
|
486
534
|
getIntent(id: string): Promise<ApiIntent>;
|
|
535
|
+
/**
|
|
536
|
+
* The evidence an intent cites, resolved server-side through the trust contract: excluded
|
|
537
|
+
* (archived/dismissed) items never appear, every item carries `tier`, and `evidenceTiers` is
|
|
538
|
+
* computed over the same cited set. Replaces paging the product pool, which could miss older
|
|
539
|
+
* citations and disagree with the intent's own tier counts.
|
|
540
|
+
*/
|
|
541
|
+
getIntentEvidence(id: string): Promise<ApiIntentEvidence>;
|
|
487
542
|
completeRepoOnboarding(sessionId: string, intentId: string): Promise<void>;
|
|
488
543
|
getIntentPrompt(id: string, agentType?: string, mode?: string): Promise<{
|
|
489
544
|
prompt: string;
|
|
@@ -527,14 +582,24 @@ export declare class PathmodeClient {
|
|
|
527
582
|
exportContext(format: 'claude-md' | 'agents-md' | 'cursorrules' | 'intent-md', intentId?: string, productId?: string): Promise<string>;
|
|
528
583
|
createIntent(input: CreateIntentInput): Promise<ApiIntent>;
|
|
529
584
|
updateIntent(id: string, updates: UpdateIntentInput): Promise<ApiIntent>;
|
|
530
|
-
listIntentChangeRequests(intentId: string, status?: ApiIntentChangeRequest['status'] | 'all'): Promise<{
|
|
585
|
+
listIntentChangeRequests(intentId: string, status?: ApiIntentChangeRequest['status'] | 'all', include?: ChangeRequestInclude): Promise<{
|
|
531
586
|
changeRequests: ApiIntentChangeRequest[];
|
|
532
587
|
count: number;
|
|
533
588
|
}>;
|
|
534
|
-
listWorkspaceIntentChangeRequests(status?: ApiIntentChangeRequest['status'] | 'all'): Promise<{
|
|
589
|
+
listWorkspaceIntentChangeRequests(status?: ApiIntentChangeRequest['status'] | 'all', include?: ChangeRequestInclude): Promise<{
|
|
535
590
|
changeRequests: ApiIntentChangeRequest[];
|
|
536
591
|
count: number;
|
|
537
592
|
}>;
|
|
593
|
+
/**
|
|
594
|
+
* Agent-proposed correction (agent-proposed-corrections.md): records a structured proposal
|
|
595
|
+
* against one exact base revision, answering an implementation finding. The server stores it
|
|
596
|
+
* as a change request the repository agent may NOT consume until a signed-in person accepts
|
|
597
|
+
* it, and writes one origin='agent' evidence row anchored to the claim. Nothing in the spec
|
|
598
|
+
* changes as a result of this call.
|
|
599
|
+
*/
|
|
600
|
+
proposeSpecChange(intentId: string, body: ProposeSpecChangeBody): Promise<{
|
|
601
|
+
changeRequest: ApiIntentChangeRequest;
|
|
602
|
+
}>;
|
|
538
603
|
getIntentChangeRequest(intentId: string, requestId: string): Promise<{
|
|
539
604
|
changeRequest: ApiIntentChangeRequest;
|
|
540
605
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/api-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["file:///Users/jannelammi/code/Pathmode/packages/mcp-server/src/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,12 +75,12 @@ export declare const expectationShape: z.ZodObject<{
|
|
|
75
75
|
target: z.ZodNumber;
|
|
76
76
|
unit: z.ZodOptional<z.ZodString>;
|
|
77
77
|
}, "strip", z.ZodTypeAny, {
|
|
78
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
79
78
|
target: number;
|
|
79
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
80
80
|
unit?: string | undefined;
|
|
81
81
|
}, {
|
|
82
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
83
82
|
target: number;
|
|
83
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
84
84
|
unit?: string | undefined;
|
|
85
85
|
}>;
|
|
86
86
|
/** Mirrors the optional query recipe stored on a StructuredOutcome. */
|
|
@@ -116,12 +116,12 @@ export declare const outcomeMeasurementDefinitionShape: z.ZodObject<{
|
|
|
116
116
|
target: z.ZodNumber;
|
|
117
117
|
unit: z.ZodOptional<z.ZodString>;
|
|
118
118
|
}, "strip", z.ZodTypeAny, {
|
|
119
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
120
119
|
target: number;
|
|
120
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
121
121
|
unit?: string | undefined;
|
|
122
122
|
}, {
|
|
123
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
124
123
|
target: number;
|
|
124
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
125
125
|
unit?: string | undefined;
|
|
126
126
|
}>;
|
|
127
127
|
window: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
@@ -169,8 +169,8 @@ export declare const outcomeMeasurementDefinitionShape: z.ZodObject<{
|
|
|
169
169
|
};
|
|
170
170
|
};
|
|
171
171
|
expectation: {
|
|
172
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
173
172
|
target: number;
|
|
173
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
174
174
|
unit?: string | undefined;
|
|
175
175
|
};
|
|
176
176
|
window: {
|
|
@@ -189,8 +189,8 @@ export declare const outcomeMeasurementDefinitionShape: z.ZodObject<{
|
|
|
189
189
|
};
|
|
190
190
|
};
|
|
191
191
|
expectation: {
|
|
192
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
193
192
|
target: number;
|
|
193
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
194
194
|
unit?: string | undefined;
|
|
195
195
|
};
|
|
196
196
|
window: {
|
|
@@ -233,12 +233,12 @@ export declare const outcomeMeasurementEntryShape: z.ZodObject<{
|
|
|
233
233
|
target: z.ZodNumber;
|
|
234
234
|
unit: z.ZodOptional<z.ZodString>;
|
|
235
235
|
}, "strip", z.ZodTypeAny, {
|
|
236
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
237
236
|
target: number;
|
|
237
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
238
238
|
unit?: string | undefined;
|
|
239
239
|
}, {
|
|
240
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
241
240
|
target: number;
|
|
241
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
242
242
|
unit?: string | undefined;
|
|
243
243
|
}>;
|
|
244
244
|
window: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
@@ -288,8 +288,8 @@ export declare const outcomeMeasurementEntryShape: z.ZodObject<{
|
|
|
288
288
|
};
|
|
289
289
|
};
|
|
290
290
|
expectation: {
|
|
291
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
292
291
|
target: number;
|
|
292
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
293
293
|
unit?: string | undefined;
|
|
294
294
|
};
|
|
295
295
|
window: {
|
|
@@ -309,8 +309,8 @@ export declare const outcomeMeasurementEntryShape: z.ZodObject<{
|
|
|
309
309
|
};
|
|
310
310
|
};
|
|
311
311
|
expectation: {
|
|
312
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
313
312
|
target: number;
|
|
313
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
314
314
|
unit?: string | undefined;
|
|
315
315
|
};
|
|
316
316
|
window: {
|
|
@@ -377,12 +377,12 @@ export declare const provenanceShape: z.ZodObject<{
|
|
|
377
377
|
target: z.ZodNumber;
|
|
378
378
|
unit: z.ZodOptional<z.ZodString>;
|
|
379
379
|
}, "strip", z.ZodTypeAny, {
|
|
380
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
381
380
|
target: number;
|
|
381
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
382
382
|
unit?: string | undefined;
|
|
383
383
|
}, {
|
|
384
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
385
384
|
target: number;
|
|
385
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
386
386
|
unit?: string | undefined;
|
|
387
387
|
}>>;
|
|
388
388
|
rawResponse: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -400,8 +400,8 @@ export declare const provenanceShape: z.ZodObject<{
|
|
|
400
400
|
end?: string | undefined;
|
|
401
401
|
};
|
|
402
402
|
expectation?: {
|
|
403
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
404
403
|
target: number;
|
|
404
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
405
405
|
unit?: string | undefined;
|
|
406
406
|
} | undefined;
|
|
407
407
|
queryVersion?: string | undefined;
|
|
@@ -421,8 +421,8 @@ export declare const provenanceShape: z.ZodObject<{
|
|
|
421
421
|
end?: string | undefined;
|
|
422
422
|
};
|
|
423
423
|
expectation?: {
|
|
424
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
425
424
|
target: number;
|
|
425
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
426
426
|
unit?: string | undefined;
|
|
427
427
|
} | undefined;
|
|
428
428
|
queryVersion?: string | undefined;
|
|
@@ -496,12 +496,12 @@ export declare const recordOutcomeMeasurementInputSchema: {
|
|
|
496
496
|
target: z.ZodNumber;
|
|
497
497
|
unit: z.ZodOptional<z.ZodString>;
|
|
498
498
|
}, "strip", z.ZodTypeAny, {
|
|
499
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
500
499
|
target: number;
|
|
500
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
501
501
|
unit?: string | undefined;
|
|
502
502
|
}, {
|
|
503
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
504
503
|
target: number;
|
|
504
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
505
505
|
unit?: string | undefined;
|
|
506
506
|
}>>;
|
|
507
507
|
rawResponse: z.ZodOptional<z.ZodUnknown>;
|
|
@@ -519,8 +519,8 @@ export declare const recordOutcomeMeasurementInputSchema: {
|
|
|
519
519
|
end?: string | undefined;
|
|
520
520
|
};
|
|
521
521
|
expectation?: {
|
|
522
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
523
522
|
target: number;
|
|
523
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
524
524
|
unit?: string | undefined;
|
|
525
525
|
} | undefined;
|
|
526
526
|
queryVersion?: string | undefined;
|
|
@@ -540,8 +540,8 @@ export declare const recordOutcomeMeasurementInputSchema: {
|
|
|
540
540
|
end?: string | undefined;
|
|
541
541
|
};
|
|
542
542
|
expectation?: {
|
|
543
|
-
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
544
543
|
target: number;
|
|
544
|
+
operator: "gt" | "gte" | "lt" | "lte" | "eq";
|
|
545
545
|
unit?: string | undefined;
|
|
546
546
|
} | undefined;
|
|
547
547
|
queryVersion?: string | undefined;
|
package/manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifest_version": "0.3",
|
|
3
3
|
"name": "pathmode",
|
|
4
4
|
"display_name": "Pathmode",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.25.0",
|
|
6
6
|
"description": "Deterministic preflight for the intent you hand to a coding agent: six calibrated gates, the exact blockers named, no model call, no key needed.",
|
|
7
7
|
"long_description": "Pathmode MCP Server runs a deterministic preflight before your coding agent builds: check_intent_readiness scores an intent spec against six calibrated gates (title, objective, outcomes, constraints, edge cases, verification) and names the exact blockers, with no model call and no account. Keyless local mode works out of the box; specs live in intent.md in your repo, plain markdown you own, and skills for drafting, pressure-testing, and handing off intent ride along. Connect a Pathmode workspace with an API key to sync intent and evidence across a team, analyze dependency graphs, and verify pull requests against the outcomes you agreed to.",
|
|
8
8
|
"author": {
|
package/package.json
CHANGED
|
@@ -38,3 +38,7 @@ Create a small implementation plan mapped to the outcomes. Make only the changes
|
|
|
38
38
|
In connected mode, name the intent where the merge can find it: branch `intent/<intent-id>`, or `pathmode:<intent-id>` in the pull-request body. When a pull request is involved, do not call `update_intent_status`; the merge grades the real diff and owns the transition to Shipped. Without a pull request, mark Shipped only when the outcome is observable.
|
|
39
39
|
|
|
40
40
|
</supporting-info>
|
|
41
|
+
|
|
42
|
+
## When building contradicts the spec
|
|
43
|
+
|
|
44
|
+
Record the contradiction with `record_implementation_finding` the moment you find it. If you can name the exact correction, call `propose_spec_change` with the same finding (`findingId`), the `baseRepoBodyRevision` you read, the target field and item, the value you observed and the value you propose, and the contradiction as the reason. That records a proposal for a signed-in person to accept or reject and stores your observation as unreviewed evidence; it does not change the spec. Keep implementing against the current authorized revision. Never call `intent_save` for your own proposal, and do not re-propose anything listed under "YOUR PENDING PROPOSALS" in the execution bundle.
|
|
@@ -52,3 +52,5 @@ If a change introduces a constraint violation, treat it as a blocker. Be specifi
|
|
|
52
52
|
When the review finds gaps, the user often wants to record what's not yet done so a future session can pick it up. Call `log_implementation_note` for each significant gap. Make the note self-contained — the next reader won't have this conversation's context.
|
|
53
53
|
|
|
54
54
|
</supporting-info>
|
|
55
|
+
|
|
56
|
+
If the diff is right and the spec is wrong (the code satisfies what users need but contradicts an outcome, constraint, or edge case as written), do not approve the diff against the stale text and do not rewrite intent.md yourself. Record the finding with `record_implementation_finding` and propose the exact correction with `propose_spec_change`; a signed-in product owner accepts or rejects it, and only an accepted request may be applied. Say in the review which claim is contradicted and that a proposal is pending.
|