@momentiq/dark-factory-cli 2.14.0 → 2.16.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/adapters/_shared.d.ts +1 -0
- package/dist/adapters/_shared.d.ts.map +1 -1
- package/dist/adapters/_shared.js +35 -0
- package/dist/adapters/_shared.js.map +1 -1
- package/dist/adapters/cursor-sdk.d.ts.map +1 -1
- package/dist/adapters/cursor-sdk.js +10 -1
- package/dist/adapters/cursor-sdk.js.map +1 -1
- package/dist/adapters/minimax-direct-sdk.d.ts.map +1 -1
- package/dist/adapters/minimax-direct-sdk.js +10 -1
- package/dist/adapters/minimax-direct-sdk.js.map +1 -1
- package/dist/commands/objectives.d.ts +18 -0
- package/dist/commands/objectives.d.ts.map +1 -1
- package/dist/commands/objectives.js +54 -5
- package/dist/commands/objectives.js.map +1 -1
- package/dist/cycle-doc-validator/validate_cycle_doc.py +115 -20
- package/dist/handoff/note-contract.d.ts +18 -0
- package/dist/handoff/note-contract.d.ts.map +1 -0
- package/dist/handoff/note-contract.js +68 -0
- package/dist/handoff/note-contract.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/prompts.d.ts.map +1 -1
- package/dist/mcp/prompts.js +2 -22
- package/dist/mcp/prompts.js.map +1 -1
- package/dist/mcp/tools/handoff.d.ts.map +1 -1
- package/dist/mcp/tools/handoff.js +17 -2
- package/dist/mcp/tools/handoff.js.map +1 -1
- package/dist/mcp/tools/prove.d.ts.map +1 -1
- package/dist/mcp/tools/prove.js +7 -1
- package/dist/mcp/tools/prove.js.map +1 -1
- package/dist/onboard/seeders/adr.d.ts.map +1 -1
- package/dist/onboard/seeders/adr.js +22 -4
- package/dist/onboard/seeders/adr.js.map +1 -1
- package/dist/policy/gate.d.ts.map +1 -1
- package/dist/policy/gate.js +23 -5
- package/dist/policy/gate.js.map +1 -1
- package/dist/report.d.ts +23 -0
- package/dist/report.d.ts.map +1 -1
- package/dist/report.js +56 -9
- package/dist/report.js.map +1 -1
- package/dist/runner.d.ts +1 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +6 -1
- package/dist/runner.js.map +1 -1
- package/package.json +2 -2
|
@@ -1151,6 +1151,65 @@ def _resolve_criterion(cycle_id: str, locator: str) -> tuple[str, str | None]:
|
|
|
1151
1151
|
return ("ok", text) if text is not None else ("no-criterion", None)
|
|
1152
1152
|
|
|
1153
1153
|
|
|
1154
|
+
def _manifest_source_refs(repo_root: Path) -> set[str]:
|
|
1155
|
+
"""The '<kind>:<ref>' sources an EXISTING objectives manifest declares (empty
|
|
1156
|
+
if absent/unreadable). Normalized like ``_declared_refs`` so they compare equal.
|
|
1157
|
+
Read unconditionally (NOT gated on the manifest being in changed_files) — the
|
|
1158
|
+
note below must fire even when a PR ships no manifest at all."""
|
|
1159
|
+
path = repo_root / OBJECTIVES_MANIFEST_PATH
|
|
1160
|
+
if not path.exists():
|
|
1161
|
+
return set()
|
|
1162
|
+
try:
|
|
1163
|
+
import yaml # deferred: pyyaml not guaranteed in all CI environments
|
|
1164
|
+
|
|
1165
|
+
data = yaml.safe_load(path.read_text(encoding="utf-8")) or {}
|
|
1166
|
+
except Exception:
|
|
1167
|
+
return set()
|
|
1168
|
+
refs: set[str] = set()
|
|
1169
|
+
for o in data.get("objectives") or []:
|
|
1170
|
+
if not isinstance(o, dict):
|
|
1171
|
+
continue
|
|
1172
|
+
src = o.get("source")
|
|
1173
|
+
if not isinstance(src, dict):
|
|
1174
|
+
continue
|
|
1175
|
+
kind, ref = src.get("kind"), src.get("ref")
|
|
1176
|
+
if kind == "cycle" and isinstance(ref, str):
|
|
1177
|
+
cid = normalize_cycle_id(ref)
|
|
1178
|
+
if cid:
|
|
1179
|
+
refs.add(f"cycle:{cid}")
|
|
1180
|
+
elif kind == "issue" and isinstance(ref, str):
|
|
1181
|
+
refs.add(f"issue:{re.sub(r'^#', '', ref).strip()}")
|
|
1182
|
+
return refs
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
def _note_missing_objectives(trailers: "Trailers") -> None:
|
|
1186
|
+
"""Ratchet 'note' stage (spec §4.6, #207): a NON-BLOCKING note when a PR links a
|
|
1187
|
+
criteria-bearing cycle doc (a ``## Exit criteria`` section with list items) but
|
|
1188
|
+
binds no objectives to it. Visible pressure — never appends to errors, never
|
|
1189
|
+
fails the gate. Cycle sources only: issue acceptance criteria aren't resolvable
|
|
1190
|
+
in-repo here (cross-repo source verification stays a non-blocking note, 2c §2)."""
|
|
1191
|
+
if not trailers.cycle:
|
|
1192
|
+
return
|
|
1193
|
+
cycle_id = normalize_cycle_id(trailers.cycle)
|
|
1194
|
+
if not cycle_id:
|
|
1195
|
+
return
|
|
1196
|
+
doc = find_cycle_doc(cycle_id)
|
|
1197
|
+
if doc is None:
|
|
1198
|
+
return
|
|
1199
|
+
section = _h2_sections(_doc_body(doc.path)).get("exit_criteria", "")
|
|
1200
|
+
n = len(_list_items(section))
|
|
1201
|
+
if n == 0:
|
|
1202
|
+
return # no structured criteria → nothing to nudge about
|
|
1203
|
+
if f"cycle:{cycle_id}" in _manifest_source_refs(REPO_ROOT):
|
|
1204
|
+
return # objectives already bound to this cycle → no nudge
|
|
1205
|
+
print(
|
|
1206
|
+
f"[objectives] cycle {cycle_id} declares {n} exit criteria but this PR binds "
|
|
1207
|
+
f"no objectives to them — run `df objectives derive --cycle {cycle_id}` to "
|
|
1208
|
+
f"author the contract (non-blocking; spec §4.6 note stage).",
|
|
1209
|
+
file=sys.stderr,
|
|
1210
|
+
)
|
|
1211
|
+
|
|
1212
|
+
|
|
1154
1213
|
def validate_objectives(
|
|
1155
1214
|
repo_root: Path, trailers: "Trailers", changed_files: Iterable[str]
|
|
1156
1215
|
) -> list[str]:
|
|
@@ -1387,6 +1446,7 @@ def validate(
|
|
|
1387
1446
|
trailers = parse_trailers(body)
|
|
1388
1447
|
changed_files = list(changed_files)
|
|
1389
1448
|
errors.extend(validate_objectives(REPO_ROOT, trailers, changed_files))
|
|
1449
|
+
_note_missing_objectives(trailers) # ratchet 'note' stage (#207) — non-blocking
|
|
1390
1450
|
plan = is_plan_pr(title, labels_list, changed_files)
|
|
1391
1451
|
pr_type = "plan-pr" if plan else "code-pr"
|
|
1392
1452
|
|
|
@@ -1425,31 +1485,66 @@ def validate(
|
|
|
1425
1485
|
doc: CycleDoc | None = None
|
|
1426
1486
|
if cycle_id:
|
|
1427
1487
|
doc = find_cycle_doc(cycle_id)
|
|
1428
|
-
if doc is None:
|
|
1429
|
-
errors.append(
|
|
1430
|
-
f"[cycle-doc] FAIL ({pr_type}): cycle `{cycle_id}` not found in "
|
|
1431
|
-
f"any of: {', '.join(f'`{d}/`' for d in CYCLE_DOC_DIRS)}. "
|
|
1432
|
-
"Either fix the trailer or open a plan PR that creates the "
|
|
1433
|
-
"cycle doc first."
|
|
1434
|
-
)
|
|
1435
|
-
return errors
|
|
1436
1488
|
|
|
1437
|
-
#
|
|
1438
|
-
#
|
|
1439
|
-
#
|
|
1440
|
-
#
|
|
1441
|
-
#
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
#
|
|
1446
|
-
# also
|
|
1447
|
-
# change `status: completed` back to `in-progress` and cite the
|
|
1448
|
-
# stale cycle in the same diff.
|
|
1489
|
+
# Base-ref terminal-status gate. The protected base ref is checked
|
|
1490
|
+
# FIRST and INDEPENDENTLY of whether the PR checkout resolves the cited
|
|
1491
|
+
# doc. Otherwise a PR could dodge the completed/superseded-cycle block
|
|
1492
|
+
# by deleting or renaming the cited doc in its own diff so that
|
|
1493
|
+
# ``find_cycle_doc`` returns None for head while the cycle is plainly
|
|
1494
|
+
# terminal in the base ref (the cross-repo forward-reference soften
|
|
1495
|
+
# below would then warn-and-pass — codex local critic on #257). Spelling
|
|
1496
|
+
# drift across older docs is reality (``complete`` / ``Complete``
|
|
1497
|
+
# alongside the canonical ``completed``; ``absorbed`` / ``abandoned``
|
|
1498
|
+
# are also terminal) — ``terminal_status_error`` normalizes all of them.
|
|
1449
1499
|
if base_doc is not None:
|
|
1450
1500
|
if error := terminal_status_error(cycle_id, base_doc, pr_type, "the base ref"):
|
|
1451
1501
|
errors.append(error)
|
|
1452
1502
|
|
|
1503
|
+
if doc is None:
|
|
1504
|
+
if not plan and trailers.issue and base_doc is None:
|
|
1505
|
+
# Cross-repo forward-reference (#257). The cited ``Cycle: N``
|
|
1506
|
+
# resolves in NEITHER this PR checkout NOR the protected base
|
|
1507
|
+
# ref, and a code PR carries an ``Issue:``/``Closes`` anchor.
|
|
1508
|
+
# That is the precise definition of a forward-reference: the
|
|
1509
|
+
# cycle doc lives in *another* repo (or isn't created yet), so
|
|
1510
|
+
# it is absent from both head and base of *this* repo. The
|
|
1511
|
+
# common case is a consumer repo implementing a slice of a
|
|
1512
|
+
# *platform* cycle. The anchor keeps the PR traceable, so warn
|
|
1513
|
+
# to stderr and continue (non-blocking) instead of failing.
|
|
1514
|
+
#
|
|
1515
|
+
# Both extra guards are load-bearing:
|
|
1516
|
+
# * ``base_doc is None`` — if the cycle still exists in the
|
|
1517
|
+
# base ref it is a *local* cycle the PR is hiding (its doc
|
|
1518
|
+
# deleted/renamed in the same diff), not a cross-repo one,
|
|
1519
|
+
# so it must keep hard-failing and let the base-ref terminal
|
|
1520
|
+
# check above gate a completed/superseded cycle.
|
|
1521
|
+
# * ``not plan`` — an unresolvable cycle on a plan PR is always
|
|
1522
|
+
# a hard error (a plan PR must create the very doc it cites),
|
|
1523
|
+
# even when an Issue anchor is present.
|
|
1524
|
+
# Consumer motivation: momentiq-ai/dark-factory-dashboard#150.
|
|
1525
|
+
print(
|
|
1526
|
+
f"[cycle-doc] WARN (code-pr): cycle `{cycle_id}` not found in "
|
|
1527
|
+
f"any of: {', '.join(f'`{d}/`' for d in CYCLE_DOC_DIRS)}; "
|
|
1528
|
+
"treating as a cross-repo forward-reference because an "
|
|
1529
|
+
"`Issue:`/`Closes` anchor is present and the cycle is absent "
|
|
1530
|
+
"from the base ref too. Continuing (non-blocking).",
|
|
1531
|
+
file=sys.stderr,
|
|
1532
|
+
)
|
|
1533
|
+
else:
|
|
1534
|
+
errors.append(
|
|
1535
|
+
f"[cycle-doc] FAIL ({pr_type}): cycle `{cycle_id}` not found in "
|
|
1536
|
+
f"any of: {', '.join(f'`{d}/`' for d in CYCLE_DOC_DIRS)}. "
|
|
1537
|
+
"Either fix the trailer or open a plan PR that creates the "
|
|
1538
|
+
"cycle doc first."
|
|
1539
|
+
)
|
|
1540
|
+
return errors
|
|
1541
|
+
else:
|
|
1542
|
+
# Terminal statuses that mean "do not cite this cycle from a new
|
|
1543
|
+
# PR." Reachable only when the cited doc resolved in the PR checkout
|
|
1544
|
+
# (``terminal_status_error`` dereferences ``doc.status``).
|
|
1545
|
+
if error := terminal_status_error(cycle_id, doc, pr_type, "the PR checkout"):
|
|
1546
|
+
errors.append(error)
|
|
1547
|
+
|
|
1453
1548
|
if plan:
|
|
1454
1549
|
# Plan PR: the diff MUST include the cycle's own doc file. A plan
|
|
1455
1550
|
# PR that doesn't touch its cycle's doc is mis-labelled.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The marker-bounded rehydration-note skeleton. The `agent-context:v1` markers
|
|
3
|
+
* are load-bearing — the df_handoff upsert finds the block by them. Pass
|
|
4
|
+
* `date` / `title` to pre-fill them (the prompt does, with `today()` + the
|
|
5
|
+
* work-stream title); omit for the placeholder form (the static tool-schema
|
|
6
|
+
* description).
|
|
7
|
+
*/
|
|
8
|
+
export declare function noteSkeleton(opts?: {
|
|
9
|
+
date?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
/**
|
|
13
|
+
* The hard security rule, compact form. The df.handoff PROMPT expands this with
|
|
14
|
+
* ✅/❌ examples; the df_handoff TOOL description carries this one-liner. Both
|
|
15
|
+
* say the same thing: setup steps yes, secrets never.
|
|
16
|
+
*/
|
|
17
|
+
export declare const NOTE_SECURITY_RULE_COMPACT: string;
|
|
18
|
+
//# sourceMappingURL=note-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note-contract.d.ts","sourceRoot":"","sources":["../../src/handoff/note-contract.ts"],"names":[],"mappings":"AAyBA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC3C,MAAM,CA2BR;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAKC,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// packages/cli/src/handoff/note-contract.ts
|
|
2
|
+
//
|
|
3
|
+
// Single source of truth for the AUTHORING contract of a handoff rehydration
|
|
4
|
+
// note — the marker-bounded skeleton + the hard security rule. Two surfaces
|
|
5
|
+
// consume it, and they MUST NOT drift:
|
|
6
|
+
//
|
|
7
|
+
// - the df.handoff MCP PROMPT (src/mcp/prompts.ts) — the long-form judgment,
|
|
8
|
+
// surfaced by clients that support MCP prompts (e.g. Claude Code); and
|
|
9
|
+
// - the df_handoff MCP TOOL (src/mcp/tools/handoff.ts) — the same skeleton
|
|
10
|
+
// embedded in the `note` input-schema description, so tool-only MCP
|
|
11
|
+
// clients (OpenCode, Codex, Cursor — which do NOT surface MCP prompts)
|
|
12
|
+
// receive the identical format from the tool metadata alone.
|
|
13
|
+
//
|
|
14
|
+
// Keeping ONE source here is what lets an outside-family agent (the
|
|
15
|
+
// creator-model-autonomy thesis: the gate judges output, not author) compose a
|
|
16
|
+
// well-formed note without the Claude-Code-only prompt. PORT-PARITY NOTE: the
|
|
17
|
+
// markers are re-used from markers.ts (the load-bearing parse invariant); the
|
|
18
|
+
// section prose is advisory (nothing parses it) but is pinned here so the
|
|
19
|
+
// prompt and the tool can never diverge.
|
|
20
|
+
import { MARKER_CLOSE, MARKER_OPEN } from "./markers.js";
|
|
21
|
+
const DATE_PLACEHOLDER = "<YYYY-MM-DD>";
|
|
22
|
+
const TITLE_PLACEHOLDER = "<title>";
|
|
23
|
+
/**
|
|
24
|
+
* The marker-bounded rehydration-note skeleton. The `agent-context:v1` markers
|
|
25
|
+
* are load-bearing — the df_handoff upsert finds the block by them. Pass
|
|
26
|
+
* `date` / `title` to pre-fill them (the prompt does, with `today()` + the
|
|
27
|
+
* work-stream title); omit for the placeholder form (the static tool-schema
|
|
28
|
+
* description).
|
|
29
|
+
*/
|
|
30
|
+
export function noteSkeleton(opts = {}) {
|
|
31
|
+
const date = opts.date ?? DATE_PLACEHOLDER;
|
|
32
|
+
const title = opts.title ?? TITLE_PLACEHOLDER;
|
|
33
|
+
return [
|
|
34
|
+
MARKER_OPEN,
|
|
35
|
+
"> 🤖 **Agent rehydration context** — transient working memory, NOT a source of truth.",
|
|
36
|
+
"> State is whatever `gh`/the linked work items say now; this is the *reasoning*. Stale by nature.",
|
|
37
|
+
`> _Updated: ${date} by <your model/session>_`,
|
|
38
|
+
"",
|
|
39
|
+
`**Work-stream:** \`${title}\` · the dedicated handoff Issue's title.`,
|
|
40
|
+
"",
|
|
41
|
+
"**Why this approach (and what I rejected):**",
|
|
42
|
+
"- <the decision + the alternative you did NOT take, and why>",
|
|
43
|
+
"",
|
|
44
|
+
"**Traps I hit:** ← setup-shaped only; see the Security rule below",
|
|
45
|
+
"- <the gotcha + the setup step that avoids it>",
|
|
46
|
+
"",
|
|
47
|
+
"**Where I was mid-thought:**",
|
|
48
|
+
"- <the thing you'd tell yourself if you walked back in 10 minutes later>",
|
|
49
|
+
"",
|
|
50
|
+
"**Derive current state (don't trust the above as current):**",
|
|
51
|
+
" Run df_rehydrate on this Issue — it derives live state safely",
|
|
52
|
+
" (Issue + each linked work item). Or, generically: gh issue view",
|
|
53
|
+
" <N> for the Issue body + timeline; gh pr view / gh pr checks",
|
|
54
|
+
" for any linked PR.",
|
|
55
|
+
MARKER_CLOSE,
|
|
56
|
+
].join("\n");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The hard security rule, compact form. The df.handoff PROMPT expands this with
|
|
60
|
+
* ✅/❌ examples; the df_handoff TOOL description carries this one-liner. Both
|
|
61
|
+
* say the same thing: setup steps yes, secrets never.
|
|
62
|
+
*/
|
|
63
|
+
export const NOTE_SECURITY_RULE_COMPACT = "Security rule (HARD): this note becomes a GitHub Issue body — readable by " +
|
|
64
|
+
"anyone with repo access and cached even after deletion. Write SETUP STEPS, " +
|
|
65
|
+
"never SECRETS (no tokens, API keys, credential-file paths, or connection " +
|
|
66
|
+
"strings). df_handoff scrubs as a backstop and REFUSES on a secret-shaped " +
|
|
67
|
+
"match — you are the primary control.";
|
|
68
|
+
//# sourceMappingURL=note-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"note-contract.js","sourceRoot":"","sources":["../../src/handoff/note-contract.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,uCAAuC;AACvC,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,6EAA6E;AAC7E,wEAAwE;AACxE,2EAA2E;AAC3E,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,0EAA0E;AAC1E,yCAAyC;AAEzC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,gBAAgB,GAAG,cAAc,CAAC;AACxC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,OAA0C,EAAE;IAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,gBAAgB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC;IAC9C,OAAO;QACL,WAAW;QACX,uFAAuF;QACvF,mGAAmG;QACnG,eAAe,IAAI,2BAA2B;QAC9C,EAAE;QACF,sBAAsB,KAAK,2CAA2C;QACtE,EAAE;QACF,8CAA8C;QAC9C,8DAA8D;QAC9D,EAAE;QACF,qEAAqE;QACrE,gDAAgD;QAChD,EAAE;QACF,8BAA8B;QAC9B,0EAA0E;QAC1E,EAAE;QACF,8DAA8D;QAC9D,mEAAmE;QACnE,qEAAqE;QACrE,kEAAkE;QAClE,wBAAwB;QACxB,YAAY;KACb,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GACrC,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,2EAA2E;IAC3E,sCAAsC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { runSyncCycleTrackers, runAttributePrCycleRef, getSyncCycleTrackersScrip
|
|
|
13
13
|
export { classifyPrKind, classifyPrKindFromFiles, resolveChiefEngineerLogin, evaluatePlanPrReviewGate, defaultMergeQueueRule, defaultMainRulesetShape, defaultCeReviewRulesetShape, PR_PLAN_DOC_PATTERN, PR_DOC_ROOT, type PrKind, type PlanPrGateInputs, type PlanPrGateVerdict, type MergeQueueRule, type RulesetShape, } from "./policy/merge-queue.js";
|
|
14
14
|
export { FileTelemetrySink, MemoryTelemetrySink, readTelemetryEvents, summarizeTelemetry, computeQuorumStats, computeCriticAgreement, type TelemetrySink, type TelemetryStats, type RetrySummary, type CriticStats, type CriticAgreement, type QuorumStats, } from "./evidence/audit-trail.js";
|
|
15
15
|
export { identifyLockfileKind, extractFromUnifiedDiff, renderDiffStub, renderContentStub, effectiveMode, compactDiff, splitDiffByFile, DEFAULT_GENERATED_LOCKFILE_GLOBS, MAX_COMPACTED_DIFF_BYTES, MAX_COMPACTED_CONTENT_BYTES, type LockfileKind, type CompactedPackageDelta, type CompactedLockfileDelta, type CompactedContentInput, type CompactDiffOutput, } from "./compact/index.js";
|
|
16
|
-
export { runReview, runCommitGate, type ReviewRunOptions, type ReviewRunOutcome, type GateRunOptions, } from "./runner.js";
|
|
16
|
+
export { runReview, runCommitGate, computePerCriticDeadlineMs, PER_CRITIC_DEADLINE_GRACE_MS, type ReviewRunOptions, type ReviewRunOutcome, type GateRunOptions, } from "./runner.js";
|
|
17
17
|
export { installSkill, listBundledSkills, resolveSkillsRoot, KNOWN_SKILLS, loadDarkFactoryConfig, resolveSkillOverrides, enabledSkillNames, inferGitOriginOwnerRepo, parseGitRemoteOwnerRepo, DarkFactoryConfigSchema, CONFIG_FILENAME, renderTemplateBody, extractReferencedVariables, type InstallOptions, type InstallResult, type InstalledFile, type ListedSkill, type DarkFactoryConfig, type LoadedDarkFactoryConfig, type ResolveSkillOverridesOptions, type SkillManifest, type SkillVariableDef, type RenderResult, type RenderTemplateOptions, type VariableOverride, } from "./skills/index.js";
|
|
18
18
|
export * from "@momentiq/dark-factory-schemas";
|
|
19
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,12 @@ export { FileTelemetrySink, MemoryTelemetrySink, readTelemetryEvents, summarizeT
|
|
|
31
31
|
// inspect the per-format extractors, default globs, and caps.
|
|
32
32
|
export { identifyLockfileKind, extractFromUnifiedDiff, renderDiffStub, renderContentStub, effectiveMode, compactDiff, splitDiffByFile, DEFAULT_GENERATED_LOCKFILE_GLOBS, MAX_COMPACTED_DIFF_BYTES, MAX_COMPACTED_CONTENT_BYTES, } from "./compact/index.js";
|
|
33
33
|
// Runner — drives the orchestrator end-to-end.
|
|
34
|
-
|
|
34
|
+
//
|
|
35
|
+
// `computePerCriticDeadlineMs` + `PER_CRITIC_DEADLINE_GRACE_MS` (issue #255):
|
|
36
|
+
// re-exported from the package root so embedders derive the effective
|
|
37
|
+
// per-critic deadline (raw timeout + grace) instead of mirroring the grace
|
|
38
|
+
// constant and formula in their own config fail-fast.
|
|
39
|
+
export { runReview, runCommitGate, computePerCriticDeadlineMs, PER_CRITIC_DEADLINE_GRACE_MS, } from "./runner.js";
|
|
35
40
|
// DFP #192 — bundled-skill installer (df skills install / df_skills_install).
|
|
36
41
|
// Public API for downstream callers that want to render the templates
|
|
37
42
|
// programmatically (e.g. a future `df init` flow that runs install --all).
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,iEAAiE;AAEjE,mCAAmC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AAEnD,6BAA6B;AAC7B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GAcZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,IAAI,WAAW,GAI3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GASrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAMpB,MAAM,oBAAoB,CAAC;AAE5B,sCAAsC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AAErC,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,GAIxB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,GAG9B,MAAM,gCAAgC,CAAC;AAExC,2EAA2E;AAC3E,OAAO,EACL,wBAAwB,EACxB,kCAAkC,EAClC,yBAAyB,GAG1B,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,gCAAgC,GAIjC,MAAM,+BAA+B,CAAC;AAEvC,gEAAgE;AAChE,mEAAmE;AACnE,8DAA8D;AAC9D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,GAMZ,MAAM,yBAAyB,CAAC;AAEjC,4DAA4D;AAC5D,gDAAgD;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GAOvB,MAAM,2BAA2B,CAAC;AAEnC,oDAAoD;AACpD,gEAAgE;AAChE,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,GAM5B,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,OAAO,EACL,SAAS,EACT,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,iEAAiE;AAEjE,mCAAmC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oCAAoC,CAAC;AAEnD,6BAA6B;AAC7B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GAcZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,IAAI,WAAW,GAI3B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GASrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAMpB,MAAM,oBAAoB,CAAC;AAE5B,sCAAsC;AACtC,OAAO,EACL,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AAErC,yDAAyD;AACzD,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,uBAAuB,GAIxB,MAAM,qBAAqB,CAAC;AAE7B,sEAAsE;AACtE,OAAO,EACL,mBAAmB,EACnB,6BAA6B,GAG9B,MAAM,gCAAgC,CAAC;AAExC,2EAA2E;AAC3E,OAAO,EACL,wBAAwB,EACxB,kCAAkC,EAClC,yBAAyB,GAG1B,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,8BAA8B,EAC9B,gCAAgC,GAIjC,MAAM,+BAA+B,CAAC;AAEvC,gEAAgE;AAChE,mEAAmE;AACnE,8DAA8D;AAC9D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,GAMZ,MAAM,yBAAyB,CAAC;AAEjC,4DAA4D;AAC5D,gDAAgD;AAChD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GAOvB,MAAM,2BAA2B,CAAC;AAEnC,oDAAoD;AACpD,gEAAgE;AAChE,8DAA8D;AAC9D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,eAAe,EACf,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,GAM5B,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,EAAE;AACF,8EAA8E;AAC9E,sEAAsE;AACtE,2EAA2E;AAC3E,sDAAsD;AACtD,OAAO,EACL,SAAS,EACT,aAAa,EACb,0BAA0B,EAC1B,4BAA4B,GAI7B,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,sEAAsE;AACtE,2EAA2E;AAC3E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,GAa3B,MAAM,mBAAmB,CAAC;AAE3B,iDAAiD;AACjD,cAAc,gCAAgC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,MAAM,WAAW,sBAAsB;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAaD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,sBAA2B,GAChC,IAAI,CAoiBN"}
|
package/dist/mcp/prompts.js
CHANGED
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
import { resolve } from "node:path";
|
|
29
29
|
import { z } from "zod";
|
|
30
30
|
import { readTelemetryEvents } from "../evidence/audit-trail.js";
|
|
31
|
+
import { noteSkeleton } from "../handoff/note-contract.js";
|
|
31
32
|
import { resolveArtifactDir, telemetryPath } from "../paths.js";
|
|
32
33
|
import { loadAgentReviewConfig } from "../policy/config.js";
|
|
33
34
|
function userMessage(text) {
|
|
@@ -402,28 +403,7 @@ export function registerPrompts(server, opts = {}) {
|
|
|
402
403
|
"Issue body):",
|
|
403
404
|
"",
|
|
404
405
|
"```markdown",
|
|
405
|
-
|
|
406
|
-
"> 🤖 **Agent rehydration context** — transient working memory, NOT a source of truth.",
|
|
407
|
-
"> State is whatever `gh`/the linked work items say now; this is the *reasoning*. Stale by nature.",
|
|
408
|
-
`> _Updated: ${today()} by <your model/session>_`,
|
|
409
|
-
"",
|
|
410
|
-
`**Work-stream:** \`${title}\` · the dedicated handoff Issue's title.`,
|
|
411
|
-
"",
|
|
412
|
-
"**Why this approach (and what I rejected):**",
|
|
413
|
-
"- <the decision + the alternative you did NOT take, and why>",
|
|
414
|
-
"",
|
|
415
|
-
"**Traps I hit:** ← setup-shaped only; see the Security rule below",
|
|
416
|
-
"- <the gotcha + the setup step that avoids it>",
|
|
417
|
-
"",
|
|
418
|
-
"**Where I was mid-thought:**",
|
|
419
|
-
"- <the thing you'd tell yourself if you walked back in 10 minutes later>",
|
|
420
|
-
"",
|
|
421
|
-
"**Derive current state (don't trust the above as current):**",
|
|
422
|
-
" Run df_rehydrate on this Issue — it derives live state safely",
|
|
423
|
-
" (Issue + each linked work item). Or, generically: gh issue view",
|
|
424
|
-
" <N> for the Issue body + timeline; gh pr view / gh pr checks",
|
|
425
|
-
" for any linked PR.",
|
|
426
|
-
"<!-- /agent-context:v1 -->",
|
|
406
|
+
noteSkeleton({ date: today(), title }),
|
|
427
407
|
"```",
|
|
428
408
|
"",
|
|
429
409
|
"Rules while you write:",
|
package/dist/mcp/prompts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/handoff.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAUL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EAEX,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"handoff.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/handoff.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAUL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EAEX,MAAM,wBAAwB,CAAC;AAOhC,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,2BAAgC,GACrC,IAAI,CAoQN"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
import { z } from "zod";
|
|
25
25
|
import { HandoffError, SpawnGhClient, SpawnGitClient, SystemClock, runHandoff, runAccept, runRehydrate, runHandoffs, renderRehydrateText, } from "../../handoff/index.js";
|
|
26
26
|
import { requireIssueNumber } from "../../handoff/args.js";
|
|
27
|
+
import { NOTE_SECURITY_RULE_COMPACT, noteSkeleton, } from "../../handoff/note-contract.js";
|
|
27
28
|
export function registerHandoffTools(server, opts = {}) {
|
|
28
29
|
// Build a fresh client triple per tool invocation. The Spawn* clients are
|
|
29
30
|
// cheap to construct (no I/O until a method is called) and per-call
|
|
@@ -60,8 +61,22 @@ export function registerHandoffTools(server, opts = {}) {
|
|
|
60
61
|
note: z
|
|
61
62
|
.string()
|
|
62
63
|
.min(1)
|
|
63
|
-
.describe("The
|
|
64
|
-
"
|
|
64
|
+
.describe("The rehydration note body, composed from your ACTUAL working " +
|
|
65
|
+
"memory (the reasoning a fresh session can NOT recover from " +
|
|
66
|
+
"`gh` / the linked PRs — live state is recoverable, reasoning " +
|
|
67
|
+
"evaporates). Compose it in this marker-bounded format — the " +
|
|
68
|
+
"`agent-context:v1` markers are load-bearing (the upsert finds " +
|
|
69
|
+
"the block by them); set the `_Updated:_` line to today's date " +
|
|
70
|
+
"(an unparseable date disables the staleness guard):\n\n" +
|
|
71
|
+
noteSkeleton() +
|
|
72
|
+
"\n\n" +
|
|
73
|
+
NOTE_SECURITY_RULE_COMPACT +
|
|
74
|
+
"\n\nThis schema carries the note format + the hard secrets " +
|
|
75
|
+
"rule so tool-only clients (OpenCode, Codex, Cursor) get them " +
|
|
76
|
+
"without the `df.handoff` MCP prompt — which Claude Code uses " +
|
|
77
|
+
"for the full authoring doctrine (omit what the Issue/links " +
|
|
78
|
+
"already track; link, don't copy; the derive-state line stays " +
|
|
79
|
+
"generic)."),
|
|
65
80
|
issue: z
|
|
66
81
|
.string()
|
|
67
82
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/mcp/tools/handoff.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,wEAAwE;AACxE,sDAAsD;AACtD,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,qEAAqE;AACrE,qEAAqE;AACrE,mEAAmE;AACnE,yEAAyE;AACzE,4CAA4C;AAC5C,EAAE;AACF,0BAA0B;AAC1B,uEAAuE;AACvE,2EAA2E;AAC3E,mDAAmD;AACnD,4EAA4E;AAC5E,wDAAwD;AACxD,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAyC;AAEzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,mBAAmB,GAKpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handoff.js","sourceRoot":"","sources":["../../../src/mcp/tools/handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/prove.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,MAAM,WAAW,wBAAwB;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"prove.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/prove.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,MAAM,WAAW,wBAAwB;IAEvC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AA8CD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,GAAE,wBAA6B,GAAG,IAAI,CAiE9F"}
|
package/dist/mcp/tools/prove.js
CHANGED
|
@@ -22,7 +22,7 @@ function renderProofMarkdown(record) {
|
|
|
22
22
|
`**df_prove**: ${record.commit.slice(0, 12)} — ${s.proven} proven · ${s.pending} pending · ${s.failed} failed (${s.total} total)`,
|
|
23
23
|
];
|
|
24
24
|
for (const o of record.objectives) {
|
|
25
|
-
lines.push(` ${glyph[o.status] ?? "?"} ${o.id} [${o.status}${o.enforced ? ", enforced" : ""}] — ${o.text}`);
|
|
25
|
+
lines.push(` ${glyph[o.status] ?? "?"} ${o.id} [${o.status}, ${o.sourceVerification}${o.enforced ? ", enforced" : ""}] — ${o.text}`);
|
|
26
26
|
for (const b of o.bindings) {
|
|
27
27
|
lines.push(` ${b.kind}[${b.ref}] ${b.status} — ${b.detail}`);
|
|
28
28
|
}
|
|
@@ -41,6 +41,12 @@ const objectiveZ = z.object({
|
|
|
41
41
|
text: z.string(),
|
|
42
42
|
enforced: z.boolean(),
|
|
43
43
|
status: z.string().describe("'proven' | 'pending' | 'failed' — worst-of its bindings."),
|
|
44
|
+
// Closed enum (not z.string()): the finite faithfulness ladder is the whole
|
|
45
|
+
// point of the field, so the emitted MCP JSON Schema must reject invalid rungs.
|
|
46
|
+
// Mirrors the canonical `SourceVerification` union in @momentiq/dark-factory-schemas.
|
|
47
|
+
sourceVerification: z
|
|
48
|
+
.enum(["source-bound", "human-reviewed", "inferred", "agent-asserted"])
|
|
49
|
+
.describe("Faithfulness rung (spec §4.7) — how strongly the objective is bound to its source criterion."),
|
|
44
50
|
bindings: z.array(bindingZ),
|
|
45
51
|
});
|
|
46
52
|
export function registerProveTool(server, opts = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../src/mcp/tools/prove.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,qEAAqE;AACrE,6EAA6E;AAC7E,8EAA8E;AAC9E,oEAAoE;AACpE,EAAE;AACF,iFAAiF;AACjF,0EAA0E;AAC1E,4EAA4E;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS7C,SAAS,mBAAmB,CAAC,MAAwB;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;QAClB,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2EAA2E,CAAC;IAChI,CAAC;IACD,MAAM,KAAK,GAA2B,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACjF,MAAM,KAAK,GAAG;QACZ,iBAAiB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,SAAS;KAClI,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"prove.js","sourceRoot":"","sources":["../../../src/mcp/tools/prove.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../../../src/onboard/seeders/adr.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAY,MAAM,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../../../src/onboard/seeders/adr.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAY,MAAM,EAAe,MAAM,YAAY,CAAC;AAuLhE,eAAO,MAAM,SAAS,EAAE,MAkEvB,CAAC"}
|
|
@@ -25,7 +25,7 @@ const HERE = dirname(fileURLToPath(import.meta.url));
|
|
|
25
25
|
// to whitelist only one extension+directory pattern at publish time.
|
|
26
26
|
const TEMPLATE_PATH = resolve(HERE, "templates", "adr.md.tmpl");
|
|
27
27
|
const RATIONALE_TEMPLATES = {
|
|
28
|
-
"test-framework": "This repo uses {test_runner_name} (
|
|
28
|
+
"test-framework": "This repo uses {test_runner_name} ({version_provenance}) as the test framework. " +
|
|
29
29
|
"New tests should be written against {test_runner_name}'s API; integration tests follow the same harness convention.",
|
|
30
30
|
"deploy-target": "This repo deploys via {target_name} ({command}, configured in {workflow_path}). " +
|
|
31
31
|
"New deploy-affecting changes update the {target_name} configuration; agents should NOT introduce parallel deploy mechanisms.",
|
|
@@ -74,15 +74,33 @@ function existingSlugs(year, existingAdrs) {
|
|
|
74
74
|
function applyTemplate(template, bindings) {
|
|
75
75
|
return template.replace(/\{([a-z_]+)\}/g, (full, k) => Object.prototype.hasOwnProperty.call(bindings, k) ? bindings[k] : full);
|
|
76
76
|
}
|
|
77
|
+
// Recover the framework token from a test-framework decision title. The lockfile
|
|
78
|
+
// analyzer emits these titles as "Repo uses <Name> as test framework" (see
|
|
79
|
+
// analyzers/lockfile.ts DECISION_MARKERS), so the real name is the token after
|
|
80
|
+
// "uses", NOT `title.split(" ")[0]` — which yields the literal word "Repo" and
|
|
81
|
+
// renders the nonsensical "This repo uses Repo" (#152 Gap-2). Returns undefined
|
|
82
|
+
// when the title doesn't follow the marker phrasing.
|
|
83
|
+
function testFrameworkNameFromTitle(title) {
|
|
84
|
+
const m = /\buses\s+(.+?)\s+as\s+test\s+framework\b/i.exec(title);
|
|
85
|
+
return m?.[1]?.trim();
|
|
86
|
+
}
|
|
77
87
|
function bindRationale(d, analysis) {
|
|
78
88
|
const evidence_path = d.evidence[0] ?? "(unknown)";
|
|
79
89
|
switch (d.surface) {
|
|
80
90
|
case "test-framework": {
|
|
81
91
|
// Find the matching dep entry — first dep whose name appears in the title.
|
|
82
92
|
const dep = analysis.dependencies.find((dep) => d.title.toLowerCase().includes(dep.name.toLowerCase()));
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
93
|
+
// When the framework dep falls outside the top-20 `dependencies[]` cap
|
|
94
|
+
// (e.g. pytest on a large repo like sage3c), recover the real framework
|
|
95
|
+
// token from the title rather than its first whitespace word ("Repo").
|
|
96
|
+
const test_runner_name = dep?.name ?? testFrameworkNameFromTitle(d.title) ?? "the test framework";
|
|
97
|
+
// Only claim "pinned at <version>" when a captured dep version exists;
|
|
98
|
+
// otherwise the unpinned/uncaptured case rendered "(pinned at (unpinned))".
|
|
99
|
+
// Fall back to citing the evidence path without a pinning claim (#152 Gap-2).
|
|
100
|
+
const version_provenance = dep
|
|
101
|
+
? `pinned at ${dep.version} per ${evidence_path}`
|
|
102
|
+
: `surfaced in ${evidence_path}`;
|
|
103
|
+
return { test_runner_name, version_provenance, evidence_path };
|
|
86
104
|
}
|
|
87
105
|
case "deploy-target": {
|
|
88
106
|
const ds = analysis.ci.deployStory;
|