@descryy/mcp 0.5.0 → 0.7.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/dist/action-handshake.d.ts +8 -75
- package/dist/action-handshake.d.ts.map +1 -1
- package/dist/action-handshake.js +9 -79
- package/dist/action-handshake.js.map +1 -1
- package/dist/bin/descry-mcp.d.ts +4 -15
- package/dist/bin/descry-mcp.d.ts.map +1 -1
- package/dist/bin/descry-mcp.js +12 -42
- package/dist/bin/descry-mcp.js.map +1 -1
- package/dist/browser/driver.d.ts +62 -178
- package/dist/browser/driver.d.ts.map +1 -1
- package/dist/browser/driver.js +14 -46
- package/dist/browser/driver.js.map +1 -1
- package/dist/browser/evidence.d.ts +11 -35
- package/dist/browser/evidence.d.ts.map +1 -1
- package/dist/browser/evidence.js +25 -51
- package/dist/browser/evidence.js.map +1 -1
- package/dist/browser/fake-driver.d.ts +12 -16
- package/dist/browser/fake-driver.d.ts.map +1 -1
- package/dist/browser/fake-driver.js +24 -17
- package/dist/browser/fake-driver.js.map +1 -1
- package/dist/browser/graph-write.d.ts +4 -45
- package/dist/browser/graph-write.d.ts.map +1 -1
- package/dist/browser/graph-write.js +8 -53
- package/dist/browser/graph-write.js.map +1 -1
- package/dist/browser/playwright-driver.d.ts +17 -67
- package/dist/browser/playwright-driver.d.ts.map +1 -1
- package/dist/browser/playwright-driver.js +169 -166
- package/dist/browser/playwright-driver.js.map +1 -1
- package/dist/browser/provider.d.ts +5 -34
- package/dist/browser/provider.d.ts.map +1 -1
- package/dist/browser/provider.js +4 -24
- package/dist/browser/provider.js.map +1 -1
- package/dist/browser/registry.d.ts +26 -106
- package/dist/browser/registry.d.ts.map +1 -1
- package/dist/browser/registry.js +20 -77
- package/dist/browser/registry.js.map +1 -1
- package/dist/browser/scenario-resolve.d.ts +10 -44
- package/dist/browser/scenario-resolve.d.ts.map +1 -1
- package/dist/browser/scenario-resolve.js +10 -41
- package/dist/browser/scenario-resolve.js.map +1 -1
- package/dist/browser/scenario-runner.d.ts +12 -70
- package/dist/browser/scenario-runner.d.ts.map +1 -1
- package/dist/browser/scenario-runner.js +33 -91
- package/dist/browser/scenario-runner.js.map +1 -1
- package/dist/browser/stack-parser.d.ts +4 -28
- package/dist/browser/stack-parser.d.ts.map +1 -1
- package/dist/browser/stack-parser.js +12 -39
- package/dist/browser/stack-parser.js.map +1 -1
- package/dist/browser/tool-support.d.ts +20 -67
- package/dist/browser/tool-support.d.ts.map +1 -1
- package/dist/browser/tool-support.js +22 -66
- package/dist/browser/tool-support.js.map +1 -1
- package/dist/browser/url-scheme.d.ts +14 -0
- package/dist/browser/url-scheme.d.ts.map +1 -0
- package/dist/browser/url-scheme.js +38 -0
- package/dist/browser/url-scheme.js.map +1 -0
- package/dist/cancellation.d.ts +11 -46
- package/dist/cancellation.d.ts.map +1 -1
- package/dist/cancellation.js +11 -46
- package/dist/cancellation.js.map +1 -1
- package/dist/capped.d.ts +17 -0
- package/dist/capped.d.ts.map +1 -0
- package/dist/capped.js +15 -0
- package/dist/capped.js.map +1 -0
- package/dist/disclosure-ledger.d.ts +6 -30
- package/dist/disclosure-ledger.d.ts.map +1 -1
- package/dist/disclosure-ledger.js +4 -26
- package/dist/disclosure-ledger.js.map +1 -1
- package/dist/index.d.ts +10 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -17
- package/dist/index.js.map +1 -1
- package/dist/module-trust.d.ts +24 -0
- package/dist/module-trust.d.ts.map +1 -0
- package/dist/module-trust.js +60 -0
- package/dist/module-trust.js.map +1 -0
- package/dist/path-confinement.d.ts +31 -0
- package/dist/path-confinement.d.ts.map +1 -0
- package/dist/path-confinement.js +44 -0
- package/dist/path-confinement.js.map +1 -0
- package/dist/protocol.d.ts +10 -53
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +14 -60
- package/dist/protocol.js.map +1 -1
- package/dist/registry.d.ts +10 -58
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +38 -90
- package/dist/registry.js.map +1 -1
- package/dist/render.d.ts +79 -11
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +126 -14
- package/dist/render.js.map +1 -1
- package/dist/runtime-registry.d.ts +8 -49
- package/dist/runtime-registry.d.ts.map +1 -1
- package/dist/runtime-registry.js +72 -63
- package/dist/runtime-registry.js.map +1 -1
- package/dist/scenarios/index.d.ts +1 -1
- package/dist/scenarios/index.d.ts.map +1 -1
- package/dist/scenarios/index.js +1 -1
- package/dist/scenarios/index.js.map +1 -1
- package/dist/scenarios/parse.d.ts +4 -18
- package/dist/scenarios/parse.d.ts.map +1 -1
- package/dist/scenarios/parse.js +14 -34
- package/dist/scenarios/parse.js.map +1 -1
- package/dist/scenarios/scenario.d.ts +18 -74
- package/dist/scenarios/scenario.d.ts.map +1 -1
- package/dist/scenarios/scenario.js +7 -34
- package/dist/scenarios/scenario.js.map +1 -1
- package/dist/scenarios/storage.d.ts +11 -41
- package/dist/scenarios/storage.d.ts.map +1 -1
- package/dist/scenarios/storage.js +57 -47
- package/dist/scenarios/storage.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +55 -13
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +69 -239
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +76 -231
- package/dist/session.js.map +1 -1
- package/dist/tools/analyze.d.ts +27 -101
- package/dist/tools/analyze.d.ts.map +1 -1
- package/dist/tools/analyze.js +58 -148
- package/dist/tools/analyze.js.map +1 -1
- package/dist/tools/browser-click.d.ts +3 -21
- package/dist/tools/browser-click.d.ts.map +1 -1
- package/dist/tools/browser-click.js +10 -31
- package/dist/tools/browser-click.js.map +1 -1
- package/dist/tools/browser-close-session.d.ts +4 -13
- package/dist/tools/browser-close-session.d.ts.map +1 -1
- package/dist/tools/browser-close-session.js +4 -13
- package/dist/tools/browser-close-session.js.map +1 -1
- package/dist/tools/browser-fill.d.ts +5 -36
- package/dist/tools/browser-fill.d.ts.map +1 -1
- package/dist/tools/browser-fill.js +9 -44
- package/dist/tools/browser-fill.js.map +1 -1
- package/dist/tools/browser-navigate.d.ts +6 -27
- package/dist/tools/browser-navigate.d.ts.map +1 -1
- package/dist/tools/browser-navigate.js +6 -23
- package/dist/tools/browser-navigate.js.map +1 -1
- package/dist/tools/browser-run-scenario.d.ts +5 -31
- package/dist/tools/browser-run-scenario.d.ts.map +1 -1
- package/dist/tools/browser-run-scenario.js +10 -46
- package/dist/tools/browser-run-scenario.js.map +1 -1
- package/dist/tools/browser-save-scenario.d.ts +3 -28
- package/dist/tools/browser-save-scenario.d.ts.map +1 -1
- package/dist/tools/browser-save-scenario.js +102 -55
- package/dist/tools/browser-save-scenario.js.map +1 -1
- package/dist/tools/browser-snapshot.d.ts +6 -39
- package/dist/tools/browser-snapshot.d.ts.map +1 -1
- package/dist/tools/browser-snapshot.js +4 -31
- package/dist/tools/browser-snapshot.js.map +1 -1
- package/dist/tools/browser-start-session.d.ts +4 -23
- package/dist/tools/browser-start-session.d.ts.map +1 -1
- package/dist/tools/browser-start-session.js +38 -51
- package/dist/tools/browser-start-session.js.map +1 -1
- package/dist/tools/browser-type.d.ts +5 -35
- package/dist/tools/browser-type.d.ts.map +1 -1
- package/dist/tools/browser-type.js +10 -45
- package/dist/tools/browser-type.js.map +1 -1
- package/dist/tools/contracts.d.ts +17 -63
- package/dist/tools/contracts.d.ts.map +1 -1
- package/dist/tools/contracts.js +91 -47
- package/dist/tools/contracts.js.map +1 -1
- package/dist/tools/cross-pr.d.ts +56 -15
- package/dist/tools/cross-pr.d.ts.map +1 -1
- package/dist/tools/cross-pr.js +141 -38
- package/dist/tools/cross-pr.js.map +1 -1
- package/dist/tools/git-diff.d.ts +18 -2
- package/dist/tools/git-diff.d.ts.map +1 -1
- package/dist/tools/git-diff.js +143 -23
- package/dist/tools/git-diff.js.map +1 -1
- package/dist/tools/git-history.d.ts +5 -16
- package/dist/tools/git-history.d.ts.map +1 -1
- package/dist/tools/git-history.js +3 -10
- package/dist/tools/git-history.js.map +1 -1
- package/dist/tools/history.d.ts +4 -33
- package/dist/tools/history.d.ts.map +1 -1
- package/dist/tools/history.js +6 -31
- package/dist/tools/history.js.map +1 -1
- package/dist/tools/impact.d.ts +7 -51
- package/dist/tools/impact.d.ts.map +1 -1
- package/dist/tools/impact.js +15 -67
- package/dist/tools/impact.js.map +1 -1
- package/dist/tools/index.d.ts +3 -8
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/kit.d.ts +66 -113
- package/dist/tools/kit.d.ts.map +1 -1
- package/dist/tools/kit.js +60 -28
- package/dist/tools/kit.js.map +1 -1
- package/dist/tools/link-workspace.d.ts +7 -45
- package/dist/tools/link-workspace.d.ts.map +1 -1
- package/dist/tools/link-workspace.js +10 -48
- package/dist/tools/link-workspace.js.map +1 -1
- package/dist/tools/lookup.d.ts +4 -14
- package/dist/tools/lookup.d.ts.map +1 -1
- package/dist/tools/lookup.js +4 -14
- package/dist/tools/lookup.js.map +1 -1
- package/dist/tools/mark-incident.d.ts +7 -54
- package/dist/tools/mark-incident.d.ts.map +1 -1
- package/dist/tools/mark-incident.js +15 -68
- package/dist/tools/mark-incident.js.map +1 -1
- package/dist/tools/observe-runtime.d.ts +27 -210
- package/dist/tools/observe-runtime.d.ts.map +1 -1
- package/dist/tools/observe-runtime.js +258 -436
- package/dist/tools/observe-runtime.js.map +1 -1
- package/dist/tools/observe-tests.d.ts +9 -88
- package/dist/tools/observe-tests.d.ts.map +1 -1
- package/dist/tools/observe-tests.js +34 -108
- package/dist/tools/observe-tests.js.map +1 -1
- package/dist/tools/pr-analysis.d.ts +18 -2
- package/dist/tools/pr-analysis.d.ts.map +1 -1
- package/dist/tools/pr-analysis.js +73 -23
- package/dist/tools/pr-analysis.js.map +1 -1
- package/dist/tools/pre-push.d.ts +94 -9
- package/dist/tools/pre-push.d.ts.map +1 -1
- package/dist/tools/pre-push.js +139 -34
- package/dist/tools/pre-push.js.map +1 -1
- package/dist/tools/propagation.d.ts +11 -53
- package/dist/tools/propagation.d.ts.map +1 -1
- package/dist/tools/propagation.js +14 -57
- package/dist/tools/propagation.js.map +1 -1
- package/dist/tools/questions.d.ts +13 -63
- package/dist/tools/questions.d.ts.map +1 -1
- package/dist/tools/questions.js +33 -105
- package/dist/tools/questions.js.map +1 -1
- package/dist/tools/refusal-fetch.d.ts +4 -40
- package/dist/tools/refusal-fetch.d.ts.map +1 -1
- package/dist/tools/refusal-fetch.js +4 -40
- package/dist/tools/refusal-fetch.js.map +1 -1
- package/dist/tools/runtime-incident.d.ts +4 -63
- package/dist/tools/runtime-incident.d.ts.map +1 -1
- package/dist/tools/runtime-incident.js +10 -87
- package/dist/tools/runtime-incident.js.map +1 -1
- package/dist/tools/scope.d.ts +7 -25
- package/dist/tools/scope.d.ts.map +1 -1
- package/dist/tools/scope.js +17 -20
- package/dist/tools/scope.js.map +1 -1
- package/dist/tools/similar-incidents.d.ts +11 -86
- package/dist/tools/similar-incidents.d.ts.map +1 -1
- package/dist/tools/similar-incidents.js +7 -71
- package/dist/tools/similar-incidents.js.map +1 -1
- package/dist/tools/validate.d.ts +31 -47
- package/dist/tools/validate.d.ts.map +1 -1
- package/dist/tools/validate.js +133 -61
- package/dist/tools/validate.js.map +1 -1
- package/dist/tools/verification-status.d.ts +9 -64
- package/dist/tools/verification-status.d.ts.map +1 -1
- package/dist/tools/verification-status.js +9 -62
- package/dist/tools/verification-status.js.map +1 -1
- package/dist/tools/verify-claim.d.ts +5 -52
- package/dist/tools/verify-claim.d.ts.map +1 -1
- package/dist/tools/verify-claim.js +6 -56
- package/dist/tools/verify-claim.js.map +1 -1
- package/dist/transport.d.ts +15 -52
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +16 -60
- package/dist/transport.js.map +1 -1
- package/package.json +33 -16
package/dist/tools/cross-pr.d.ts
CHANGED
|
@@ -2,28 +2,35 @@
|
|
|
2
2
|
* `cross-pr` — "what does this change collide with, that reading the diff alone
|
|
3
3
|
* would not show?"
|
|
4
4
|
*
|
|
5
|
-
* §14's multi-PR engine, at the protocol level. Four checks exist behind it
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* input.
|
|
5
|
+
* §14's multi-PR engine, at the protocol level. Four checks exist behind it,
|
|
6
|
+
* for a reason worth stating rather than discovering: a check is available
|
|
7
|
+
* exactly when something already produces its input.
|
|
9
8
|
*
|
|
10
9
|
* | check | § | input | today |
|
|
11
10
|
* | --- | --- | --- | --- |
|
|
12
11
|
* | hidden dependency | 14.8 | `CHANGES_WITH` edges, already in the graph | **runs** |
|
|
13
12
|
* | overlap scoring | 14.3 | stored PR scopes | **runs, over whatever is stored** |
|
|
14
13
|
* | superseded | 14.5 | git blob ids at head and at base's tip | **runs** |
|
|
15
|
-
* | migration heads | 14.6 | migration
|
|
14
|
+
* | migration heads | 14.6 | base's and head's migration files, read directly from git | **runs** |
|
|
16
15
|
*
|
|
17
16
|
* §14.8 is first because it is the one that costs nothing: the edges already
|
|
18
17
|
* exist, it needs no per-PR storage, and it works at R0 in any language with no
|
|
19
18
|
* adapter beyond file paths. For a repository whose language has no adapter at
|
|
20
19
|
* all, this is the check that still fires.
|
|
21
20
|
*
|
|
22
|
-
*
|
|
21
|
+
* **Migration heads answers the diff-precise question this section once said
|
|
22
|
+
* was out of scope for an MCP tool call** — `readMigrationsAcrossChange`
|
|
23
|
+
* (`sources/migrations/across-change.ts`) reads base's and head's migration
|
|
24
|
+
* files directly with `git ls-tree`/`git show`, so it needs no language
|
|
25
|
+
* adapter and no re-resolution of the graph against two commits. `ran` is
|
|
26
|
+
* false only when neither side has a migration format this producer
|
|
27
|
+
* recognises — never because a producer has not run yet.
|
|
28
|
+
*
|
|
29
|
+
* ## Why a check that still cannot run is declared rather than omitted
|
|
23
30
|
*
|
|
24
31
|
* `contracts.ts` set this precedent and the reasoning transfers unchanged: a
|
|
25
|
-
* tool that silently offers three of
|
|
26
|
-
* found" as "nothing there".
|
|
32
|
+
* tool that silently offers three of four checks lets a caller read "nothing
|
|
33
|
+
* found" as "nothing there". A blocked check names the producer it is
|
|
27
34
|
* waiting for, so the gap is actionable rather than mysterious.
|
|
28
35
|
*
|
|
29
36
|
* ## Everything here is Class C and that is not a defect to be fixed
|
|
@@ -32,9 +39,14 @@
|
|
|
32
39
|
* moved together two hundred times is a stronger hint and is still a hint. The
|
|
33
40
|
* checks compute their own reliability rather than being told it, and each
|
|
34
41
|
* finding carries the sentence that must travel with it. A caller rendering
|
|
35
|
-
* these as defects has broken principle 4 at the last gate.
|
|
42
|
+
* these as defects has broken principle 4 at the last gate. Migration heads is
|
|
43
|
+
* the one exception worth naming: a genuine fork in the revision chain is
|
|
44
|
+
* closer to a defect than a hint, but it is left at Class C here too, because
|
|
45
|
+
* this check cannot yet tell a legitimate two-branch merge-in-progress from an
|
|
46
|
+
* actual conflict — that distinction is left to the migration-integrity
|
|
47
|
+
* checks in `validate`, which are provable from the graph alone.
|
|
36
48
|
*/
|
|
37
|
-
import type { DiffType, HiddenDependencyReport, IncomparablePair, NodeVerdict, OverlapFinding, SupersededReport } from "@descryy/core";
|
|
49
|
+
import type { DiffType, HiddenDependencyReport, MigrationsAcrossChange, IncomparablePair, NodeVerdict, OverlapFinding, SupersededReport } from "@descryy/core";
|
|
38
50
|
import type { ReliabilityClass } from "@descryy/ir";
|
|
39
51
|
import { type BriefNode, type ToolDefinition } from "./kit.ts";
|
|
40
52
|
/**
|
|
@@ -111,26 +123,55 @@ export interface SupersededCheck {
|
|
|
111
123
|
readonly verdict: NodeVerdict;
|
|
112
124
|
}[];
|
|
113
125
|
}
|
|
114
|
-
/** git rejected the range: no check ran, and `blocked` is all there is to say. */
|
|
126
|
+
/** git rejected the range: no diff-dependent check ran, and `blocked` is all there is to say. */
|
|
115
127
|
export interface CrossPrGitFailure {
|
|
116
128
|
readonly blocked: readonly BlockedCheck[];
|
|
129
|
+
readonly migrationHeads: MigrationHeadCheck;
|
|
117
130
|
}
|
|
118
131
|
/** The diff is empty. A real answer: there is nothing to collide with. */
|
|
119
132
|
export interface CrossPrEmptyDiff extends CrossPrGitFailure {
|
|
120
133
|
readonly changedFiles: number;
|
|
121
134
|
}
|
|
122
135
|
/**
|
|
123
|
-
*
|
|
136
|
+
* §14.6 — the heads this merge would leave.
|
|
124
137
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
138
|
+
* The set is base's migrations plus this change's, because that is the set the
|
|
139
|
+
* migration runner sees after the merge. `ran` is false when neither side had a
|
|
140
|
+
* migration format this producer recognises, which is **not** the same as a
|
|
141
|
+
* clean answer: a repository whose framework declares no DAG cannot have this
|
|
142
|
+
* failure at all, and one whose files were unreadable simply was not read.
|
|
128
143
|
*/
|
|
144
|
+
export interface MigrationHeadCheck {
|
|
145
|
+
readonly ran: boolean;
|
|
146
|
+
/** Base's single head, or null when base has none or already forks. */
|
|
147
|
+
readonly baseHead: string | null;
|
|
148
|
+
/** At most one — either the merged set has a single head or it does not. */
|
|
149
|
+
readonly conflict: MigrationsAcrossChange["report"]["conflict"];
|
|
150
|
+
readonly dependencies: MigrationsAcrossChange["report"]["dependencies"];
|
|
151
|
+
readonly duplicateRevisions: MigrationsAcrossChange["report"]["duplicateRevisions"];
|
|
152
|
+
/** False when any parent list could not be read, so the DAG read is partial. */
|
|
153
|
+
readonly complete: boolean;
|
|
154
|
+
readonly checked: MigrationsAcrossChange["report"]["checked"];
|
|
155
|
+
/** Files declined, with the reason recorded rather than guessed. */
|
|
156
|
+
readonly refused: readonly {
|
|
157
|
+
file: string;
|
|
158
|
+
reason: string;
|
|
159
|
+
}[];
|
|
160
|
+
/**
|
|
161
|
+
* Well-formed migrations sitting where no migration tool looks.
|
|
162
|
+
*
|
|
163
|
+
* Reported separately from the head computation because they are not in it —
|
|
164
|
+
* the runner cannot see them either, so "the merge leaves one head" can be
|
|
165
|
+
* true and incomplete in the same breath.
|
|
166
|
+
*/
|
|
167
|
+
readonly misplaced: MigrationsAcrossChange["misplaced"];
|
|
168
|
+
}
|
|
129
169
|
export interface CrossPrReport extends CrossPrEmptyDiff {
|
|
130
170
|
readonly resolvedNodes: number;
|
|
131
171
|
readonly hiddenDependencies: HiddenDependencyCheck;
|
|
132
172
|
readonly overlaps: OverlapCheck;
|
|
133
173
|
readonly superseded: SupersededCheck;
|
|
174
|
+
readonly migrationHeads: MigrationHeadCheck;
|
|
134
175
|
}
|
|
135
176
|
export type CrossPrData = CrossPrGitFailure | CrossPrEmptyDiff | CrossPrReport;
|
|
136
177
|
export declare const crossPrTool: ToolDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-pr.d.ts","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cross-pr.d.ts","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/cross-pr.js
CHANGED
|
@@ -2,28 +2,35 @@
|
|
|
2
2
|
* `cross-pr` — "what does this change collide with, that reading the diff alone
|
|
3
3
|
* would not show?"
|
|
4
4
|
*
|
|
5
|
-
* §14's multi-PR engine, at the protocol level. Four checks exist behind it
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* input.
|
|
5
|
+
* §14's multi-PR engine, at the protocol level. Four checks exist behind it,
|
|
6
|
+
* for a reason worth stating rather than discovering: a check is available
|
|
7
|
+
* exactly when something already produces its input.
|
|
9
8
|
*
|
|
10
9
|
* | check | § | input | today |
|
|
11
10
|
* | --- | --- | --- | --- |
|
|
12
11
|
* | hidden dependency | 14.8 | `CHANGES_WITH` edges, already in the graph | **runs** |
|
|
13
12
|
* | overlap scoring | 14.3 | stored PR scopes | **runs, over whatever is stored** |
|
|
14
13
|
* | superseded | 14.5 | git blob ids at head and at base's tip | **runs** |
|
|
15
|
-
* | migration heads | 14.6 | migration
|
|
14
|
+
* | migration heads | 14.6 | base's and head's migration files, read directly from git | **runs** |
|
|
16
15
|
*
|
|
17
16
|
* §14.8 is first because it is the one that costs nothing: the edges already
|
|
18
17
|
* exist, it needs no per-PR storage, and it works at R0 in any language with no
|
|
19
18
|
* adapter beyond file paths. For a repository whose language has no adapter at
|
|
20
19
|
* all, this is the check that still fires.
|
|
21
20
|
*
|
|
22
|
-
*
|
|
21
|
+
* **Migration heads answers the diff-precise question this section once said
|
|
22
|
+
* was out of scope for an MCP tool call** — `readMigrationsAcrossChange`
|
|
23
|
+
* (`sources/migrations/across-change.ts`) reads base's and head's migration
|
|
24
|
+
* files directly with `git ls-tree`/`git show`, so it needs no language
|
|
25
|
+
* adapter and no re-resolution of the graph against two commits. `ran` is
|
|
26
|
+
* false only when neither side has a migration format this producer
|
|
27
|
+
* recognises — never because a producer has not run yet.
|
|
28
|
+
*
|
|
29
|
+
* ## Why a check that still cannot run is declared rather than omitted
|
|
23
30
|
*
|
|
24
31
|
* `contracts.ts` set this precedent and the reasoning transfers unchanged: a
|
|
25
|
-
* tool that silently offers three of
|
|
26
|
-
* found" as "nothing there".
|
|
32
|
+
* tool that silently offers three of four checks lets a caller read "nothing
|
|
33
|
+
* found" as "nothing there". A blocked check names the producer it is
|
|
27
34
|
* waiting for, so the gap is actionable rather than mysterious.
|
|
28
35
|
*
|
|
29
36
|
* ## Everything here is Class C and that is not a defect to be fixed
|
|
@@ -32,10 +39,16 @@
|
|
|
32
39
|
* moved together two hundred times is a stronger hint and is still a hint. The
|
|
33
40
|
* checks compute their own reliability rather than being told it, and each
|
|
34
41
|
* finding carries the sentence that must travel with it. A caller rendering
|
|
35
|
-
* these as defects has broken principle 4 at the last gate.
|
|
42
|
+
* these as defects has broken principle 4 at the last gate. Migration heads is
|
|
43
|
+
* the one exception worth naming: a genuine fork in the revision chain is
|
|
44
|
+
* closer to a defect than a hint, but it is left at Class C here too, because
|
|
45
|
+
* this check cannot yet tell a legitimate two-branch merge-in-progress from an
|
|
46
|
+
* actual conflict — that distinction is left to the migration-integrity
|
|
47
|
+
* checks in `validate`, which are provable from the graph alone.
|
|
36
48
|
*/
|
|
37
|
-
import { changedFiles, findHiddenDependencies, findOverlaps, findSuperseded, nodesInFiles, ScopeStore, supersededCandidates, } from "@descryy/core";
|
|
49
|
+
import { changedFiles, findHiddenDependencies, findOverlaps, findSuperseded, nodesInFiles, readMigrationsAcrossChange, ScopeStore, supersededCandidates, } from "@descryy/core";
|
|
38
50
|
import { answer, briefNode, optionalInteger, optionalString, requiredString, } from "./kit.js";
|
|
51
|
+
import { capped } from "../capped.js";
|
|
39
52
|
const SCHEMA = {
|
|
40
53
|
type: "object",
|
|
41
54
|
properties: {
|
|
@@ -56,16 +69,7 @@ const SCHEMA = {
|
|
|
56
69
|
* Named here rather than in prose so the reply carries them as data a caller
|
|
57
70
|
* can act on. Each says what would have to exist, not merely that it does not.
|
|
58
71
|
*/
|
|
59
|
-
const BLOCKED = [
|
|
60
|
-
{
|
|
61
|
-
check: "migration-heads",
|
|
62
|
-
section: "14.6",
|
|
63
|
-
question: "Would merging these changes leave more than one migration head?",
|
|
64
|
-
needs: "a producer emitting each migration's revision and declared parents. The check is " +
|
|
65
|
-
"framework-agnostic by design — a revision, its parents and which change adds it is the " +
|
|
66
|
-
"shape every migration tool has — so this is one adapter, not one per framework.",
|
|
67
|
-
},
|
|
68
|
-
];
|
|
72
|
+
const BLOCKED = [];
|
|
69
73
|
async function run(args, ctx) {
|
|
70
74
|
const base = requiredString(args, "base");
|
|
71
75
|
const head = optionalString(args, "head") ?? "HEAD";
|
|
@@ -83,6 +87,60 @@ async function run(args, ctx) {
|
|
|
83
87
|
// carve-out that lifts a name-level fact to A begins at R2.
|
|
84
88
|
nameLevel: true,
|
|
85
89
|
};
|
|
90
|
+
// §14.6 — independent of whether the main diff below succeeds: it reads
|
|
91
|
+
// base's and head's migration files directly from git (`ls-tree`/`show`),
|
|
92
|
+
// not a comparison that needs the graph or the changed-file list. Computed
|
|
93
|
+
// once, up front, so both early-return paths below — a rejected range and a
|
|
94
|
+
// genuinely empty diff — still get a real answer rather than one about a
|
|
95
|
+
// question this check never asked.
|
|
96
|
+
ctx.progress("Reading migrations on both sides");
|
|
97
|
+
let migrations = null;
|
|
98
|
+
let migrationFailure = null;
|
|
99
|
+
try {
|
|
100
|
+
migrations = await readMigrationsAcrossChange(session.repoPath, base, head);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
// One check failing is not four checks failing. Recorded rather than
|
|
104
|
+
// thrown, and `ran: false` with a reason is what the caller reads.
|
|
105
|
+
migrationFailure = error.message.trim();
|
|
106
|
+
}
|
|
107
|
+
const migrationHeads = {
|
|
108
|
+
ran: migrations?.report.analysed === true,
|
|
109
|
+
baseHead: migrations?.baseHead ?? null,
|
|
110
|
+
conflict: migrations?.report.conflict ?? null,
|
|
111
|
+
dependencies: migrations?.report.dependencies ?? [],
|
|
112
|
+
duplicateRevisions: migrations?.report.duplicateRevisions ?? [],
|
|
113
|
+
complete: migrations?.report.complete ?? false,
|
|
114
|
+
checked: migrations?.report.checked ?? {
|
|
115
|
+
changes: 0,
|
|
116
|
+
migrations: 0,
|
|
117
|
+
withUnknownParents: 0,
|
|
118
|
+
heads: 0,
|
|
119
|
+
},
|
|
120
|
+
refused: [
|
|
121
|
+
...(migrations?.base.refusals ?? []),
|
|
122
|
+
...(migrations?.change.refusals ?? []),
|
|
123
|
+
].map((r) => ({ file: r.file, reason: r.reason })),
|
|
124
|
+
misplaced: migrations?.misplaced ?? [],
|
|
125
|
+
};
|
|
126
|
+
const migrationHeadsNotes = [];
|
|
127
|
+
if (migrationFailure !== null) {
|
|
128
|
+
migrationHeadsNotes.push(`The migration head check could not read one of the two revisions: ${migrationFailure}. ` +
|
|
129
|
+
"That is a failure of this check, not a finding that the merge leaves one head.");
|
|
130
|
+
}
|
|
131
|
+
else if (migrations !== null) {
|
|
132
|
+
migrationHeadsNotes.push(...migrations.notes);
|
|
133
|
+
if (migrationHeads.misplaced.length > 0) {
|
|
134
|
+
migrationHeadsNotes.push(`${migrationHeads.misplaced.length} well-formed migration(s) are in a location no ` +
|
|
135
|
+
"migration tool looks at, so nothing will run them and they are not in the head " +
|
|
136
|
+
`computation: ${migrationHeads.misplaced.map((m) => m.file).join(", ")}.`);
|
|
137
|
+
}
|
|
138
|
+
if (!migrationHeads.ran) {
|
|
139
|
+
migrationHeadsNotes.push("No migration format this producer recognises was found on either side, so no head " +
|
|
140
|
+
"computation ran. Two of the four common families declare no DAG at all and cannot " +
|
|
141
|
+
"have this failure; a repository using one of them is not being told it is clean.");
|
|
142
|
+
}
|
|
143
|
+
}
|
|
86
144
|
ctx.progress(`Diffing ${base}...${head}`, 1, 3);
|
|
87
145
|
let files;
|
|
88
146
|
try {
|
|
@@ -93,10 +151,11 @@ async function run(args, ctx) {
|
|
|
93
151
|
...envelope,
|
|
94
152
|
headline: `Could not diff ${base}...${head}.`,
|
|
95
153
|
state: "refused",
|
|
96
|
-
data: { blocked: BLOCKED },
|
|
154
|
+
data: { blocked: BLOCKED, migrationHeads },
|
|
97
155
|
notes: [
|
|
98
156
|
`git rejected the range: ${error.message.trim()}.`,
|
|
99
157
|
"No check ran, which is not a finding that this change collides with nothing.",
|
|
158
|
+
...migrationHeadsNotes,
|
|
100
159
|
],
|
|
101
160
|
});
|
|
102
161
|
}
|
|
@@ -104,8 +163,8 @@ async function run(args, ctx) {
|
|
|
104
163
|
return answer({
|
|
105
164
|
...envelope,
|
|
106
165
|
headline: "The diff is empty.",
|
|
107
|
-
data: { changedFiles: 0, blocked: BLOCKED },
|
|
108
|
-
notes: ["An empty diff is a real answer: there is nothing to collide with."],
|
|
166
|
+
data: { changedFiles: 0, blocked: BLOCKED, migrationHeads },
|
|
167
|
+
notes: ["An empty diff is a real answer: there is nothing to collide with.", ...migrationHeadsNotes],
|
|
109
168
|
});
|
|
110
169
|
}
|
|
111
170
|
ctx.progress(`Resolving ${files.length} changed file(s)`, 2, 3);
|
|
@@ -128,18 +187,52 @@ async function run(args, ctx) {
|
|
|
128
187
|
const superseded = findSuperseded(produced.candidates, {
|
|
129
188
|
fingerprintBasis: produced.fingerprintBasis,
|
|
130
189
|
});
|
|
131
|
-
|
|
190
|
+
// B8 — `remaining` used to be every not-already-in-base comparison, with no
|
|
191
|
+
// cap at all: one entry per changed file, so the reply scaled with the
|
|
192
|
+
// diff regardless of `limit`. Capped after the already-in-base filter, so
|
|
193
|
+
// the cap counts what would be shown rather than what was compared.
|
|
194
|
+
const remainingAll = superseded.comparisons
|
|
195
|
+
.filter((c) => c.verdict !== "already-in-base")
|
|
196
|
+
.map((c) => ({ file: c.file, diffType: c.diffType, verdict: c.verdict }));
|
|
197
|
+
const remainingCap = capped(remainingAll, limit);
|
|
198
|
+
const notes = [
|
|
199
|
+
...hidden.notes,
|
|
200
|
+
...overlaps.notes,
|
|
201
|
+
...produced.notes,
|
|
202
|
+
...superseded.notes,
|
|
203
|
+
...migrationHeadsNotes,
|
|
204
|
+
];
|
|
132
205
|
if (stamp.commitSha === null) {
|
|
133
206
|
notes.push("The graph carries no commit sha, so no stored PR scope could be matched to it. Overlap " +
|
|
134
207
|
"scoring did not run — scopes are only comparable against the graph they were computed on.");
|
|
135
208
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
209
|
+
if (remainingCap.detail !== null) {
|
|
210
|
+
notes.push(`${remainingCap.detail.total - remainingCap.detail.shown} further file(s) not yet matched to ` +
|
|
211
|
+
`base are not listed — the reply is capped at ${limit}. Raise "limit" to see them.`);
|
|
212
|
+
}
|
|
213
|
+
if (BLOCKED.length > 0) {
|
|
214
|
+
notes.push(`${BLOCKED.length} of the four multi-PR checks did not run because nothing produces their ` +
|
|
215
|
+
`input yet: ${BLOCKED.map((b) => b.check).join(", ")}. Each is listed in "blocked" with ` +
|
|
216
|
+
"what it is waiting for. Their absence is not a clean result.");
|
|
217
|
+
}
|
|
139
218
|
// `refused` only when NOTHING looked at anything. One check producing a
|
|
140
219
|
// real answer is a real answer, and burying it behind a caveat about a
|
|
141
220
|
// different question is what `contracts.ts` refuses for the same reason.
|
|
142
|
-
const anythingRan = hidden.data.analysed || scopes.length >= 2 || superseded.analysed;
|
|
221
|
+
const anythingRan = hidden.data.analysed || scopes.length >= 2 || superseded.analysed || migrationHeads.ran;
|
|
222
|
+
// B8 (part 2) — `truncated` used to forward only `hidden.truncated`, so
|
|
223
|
+
// capping in `overlaps` or in `remaining` (above) went undisclosed on the
|
|
224
|
+
// wire even when the prose said so. Three checks can each independently
|
|
225
|
+
// withhold rows; this merges all three into the one combined count
|
|
226
|
+
// `render.ts` puts on the envelope, rather than reporting one check's and
|
|
227
|
+
// silently dropping the other two's.
|
|
228
|
+
const truncationParts = [
|
|
229
|
+
{ shown: hidden.data.findings.length, total: hidden.data.findingsTotal },
|
|
230
|
+
{ shown: overlaps.findings.length, total: overlaps.findingsTotal },
|
|
231
|
+
{ shown: remainingCap.shown.length, total: remainingAll.length },
|
|
232
|
+
];
|
|
233
|
+
const shownAcrossChecks = truncationParts.reduce((sum, part) => sum + part.shown, 0);
|
|
234
|
+
const totalAcrossChecks = truncationParts.reduce((sum, part) => sum + part.total, 0);
|
|
235
|
+
const anyCheckTruncated = totalAcrossChecks > shownAcrossChecks;
|
|
143
236
|
// MK-7: the leading clause, worded to never read as a defect claim — this
|
|
144
237
|
// file's own header is explicit that every finding here is Class C evidence
|
|
145
238
|
// about people, not program structure, and "N found" would read exactly
|
|
@@ -178,23 +271,29 @@ async function run(args, ctx) {
|
|
|
178
271
|
counts: superseded.counts,
|
|
179
272
|
reliability: superseded.reliability,
|
|
180
273
|
disclosure: superseded.disclosure,
|
|
181
|
-
remaining:
|
|
182
|
-
.filter((c) => c.verdict !== "already-in-base")
|
|
183
|
-
.map((c) => ({ file: c.file, diffType: c.diffType, verdict: c.verdict })),
|
|
274
|
+
remaining: remainingCap.shown,
|
|
184
275
|
},
|
|
276
|
+
migrationHeads,
|
|
185
277
|
blocked: BLOCKED,
|
|
186
278
|
},
|
|
187
279
|
stamp: hidden.stamp,
|
|
188
|
-
truncated:
|
|
280
|
+
truncated: anyCheckTruncated,
|
|
189
281
|
notes,
|
|
190
282
|
},
|
|
283
|
+
...(anyCheckTruncated
|
|
284
|
+
? { truncatedDetail: { shown: shownAcrossChecks, total: totalAcrossChecks, more: null } }
|
|
285
|
+
: {}),
|
|
191
286
|
...(anythingRan ? {} : { state: "refused" }),
|
|
192
287
|
nameLevel: true,
|
|
193
288
|
headline: anythingRan
|
|
194
289
|
? `${verdict}. ${hidden.data.findings.length} historically coupled file(s) were not touched; ` +
|
|
195
290
|
`${overlaps.findings.length} overlapping change pair(s) scored above the conflict ` +
|
|
196
|
-
`threshold; ${superseded.superseded ? "this change's work is already on base" : `${superseded.counts.alreadyInBase} of ${superseded.counts.total} touched file(s) already match base`}
|
|
197
|
-
`${
|
|
291
|
+
`threshold; ${superseded.superseded ? "this change's work is already on base" : `${superseded.counts.alreadyInBase} of ${superseded.counts.total} touched file(s) already match base`}; ` +
|
|
292
|
+
`${!migrationHeads.ran
|
|
293
|
+
? "no migration DAG was read"
|
|
294
|
+
: migrationHeads.conflict === null
|
|
295
|
+
? `the merge leaves ${migrationHeads.checked.heads} migration head`
|
|
296
|
+
: "the merge would leave more than one migration head"}; ${BLOCKED.length} of four checks could not run.`
|
|
198
297
|
: "No multi-PR check was able to run on this change. That is a statement about the " +
|
|
199
298
|
"evidence available, not about the change.",
|
|
200
299
|
};
|
|
@@ -207,10 +306,14 @@ export const crossPrTool = {
|
|
|
207
306
|
title: "Cross-change collisions",
|
|
208
307
|
description: "What this change collides with that reading its diff alone would not show: files it " +
|
|
209
308
|
"historically moves with and did not touch this time (§14.8), other in-flight changes " +
|
|
210
|
-
"editing the same important nodes (§14.3),
|
|
211
|
-
"
|
|
212
|
-
"
|
|
213
|
-
"
|
|
309
|
+
"editing the same important nodes (§14.3), whether the work is already on base by another " +
|
|
310
|
+
"route (§14.5), and whether merging it would leave the migration runner with more than one " +
|
|
311
|
+
"head (§14.6, computed over base's migrations and this change's together, read directly from " +
|
|
312
|
+
"git — no language adapter needed). Findings are Class C hints about how people edit this " +
|
|
313
|
+
"repository, never claims about what breaks; a migration-head fork is reported the same way, " +
|
|
314
|
+
"because this check cannot yet tell a legitimate merge-in-progress from a real conflict. Any " +
|
|
315
|
+
"check whose input no producer writes is declared in \"blocked\" with what it is waiting for " +
|
|
316
|
+
"rather than silently omitted.",
|
|
214
317
|
inputSchema: SCHEMA,
|
|
215
318
|
run,
|
|
216
319
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cross-pr.js","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cross-pr.js","sourceRoot":"","sources":["../../src/tools/cross-pr.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/git-diff.d.ts
CHANGED
|
@@ -19,8 +19,24 @@ export type GitDiffEntry = GitDiffFile;
|
|
|
19
19
|
* `disclosures` are what tell them apart, not the payload's shape.
|
|
20
20
|
*/
|
|
21
21
|
export interface GitDiffData {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Which question was answered — declared by the caller, never inferred.
|
|
24
|
+
*
|
|
25
|
+
* `range` compares two refs. `working-tree` reports what is uncommitted right
|
|
26
|
+
* now. They are different questions and a reply that did not say which one it
|
|
27
|
+
* answered would be readable as either.
|
|
28
|
+
*/
|
|
29
|
+
readonly mode: "range" | "working-tree";
|
|
30
|
+
/** Null in working-tree mode: there is no second ref to compare against. */
|
|
31
|
+
readonly base: string | null;
|
|
32
|
+
readonly head: string | null;
|
|
33
|
+
/** Present in working-tree mode only. */
|
|
34
|
+
readonly workingTree?: {
|
|
35
|
+
readonly scope: "unstaged" | "staged" | "all";
|
|
36
|
+
readonly includeUntracked: boolean;
|
|
37
|
+
readonly untrackedTotal: number;
|
|
38
|
+
readonly untrackedTruncated: boolean;
|
|
39
|
+
};
|
|
24
40
|
/** Capped by `limit`; `filesTotal` is the uncapped count. Empty on a git failure. */
|
|
25
41
|
readonly files: readonly GitDiffEntry[];
|
|
26
42
|
readonly filesTotal: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-diff.d.ts","sourceRoot":"","sources":["../../src/tools/git-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"git-diff.d.ts","sourceRoot":"","sources":["../../src/tools/git-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAQL,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AA4FlB,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,GAAG,KAAK,CAAC;QAC9C,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;QACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;QAChC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;KACtC,CAAC;IACF,qFAAqF;IACrF,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAgRD,eAAO,MAAM,WAAW,EAAE,cAsBzB,CAAC"}
|