@godv61/dsh-task-engine 0.23.9 → 0.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/lib/engine.js CHANGED
@@ -9,6 +9,22 @@
9
9
  *
10
10
  * @module dsh-task-engine/engine
11
11
  */
12
+ /** Render a reference as `source:name`, the form used in config and status output. */
13
+ export function formatResourceRef(ref) {
14
+ return `${ref.source}:${ref.name}`;
15
+ }
16
+ /**
17
+ * Parse a `source:name` reference. Returns undefined for a bare name, which is
18
+ * the legacy shape and must go through precedence resolution instead.
19
+ * @param text - the stored reference text.
20
+ * @returns the parsed reference, or undefined when it carries no source.
21
+ */
22
+ export function parseResourceRef(text) {
23
+ const match = /^(bundled|project|user):(.+)$/u.exec(text);
24
+ if (match === null)
25
+ return undefined;
26
+ return { source: match[1], name: match[2] };
27
+ }
12
28
  /** The full guard vocabulary. Unknown guard names are configuration errors. */
13
29
  const GUARD_NAMES = [
14
30
  'requirement_confirmation',
@@ -87,15 +103,32 @@ export function validateWorkflow(config) {
87
103
  if (!config.stages.includes(stage)) {
88
104
  problems.push(`stage_bindings: stage "${stage}" is not a stage`);
89
105
  }
90
- for (const skill of binding.skills ?? []) {
91
- if (typeof skill !== 'string' || skill.trim() === '') {
92
- problems.push(`stage_bindings "${stage}": empty skill name`);
106
+ // A skill carries its own rules, so each binding is checked as a unit: an
107
+ // empty skill reference or a malformed rule reference is reported with the
108
+ // skill it belongs to, which is where the user has to fix it.
109
+ for (const [index, entry] of (binding.skills ?? []).entries()) {
110
+ if (typeof entry?.skill?.name !== 'string' || entry.skill.name.trim() === '') {
111
+ problems.push(`stage_bindings "${stage}": skill ${index + 1} has no name`);
112
+ continue;
93
113
  }
94
- }
95
- for (const rule of binding.rules ?? []) {
96
- if (typeof rule !== 'string' || rule.trim() === '') {
97
- problems.push(`stage_bindings "${stage}": empty rule name`);
114
+ if (!['bundled', 'project', 'user'].includes(entry.skill.source)) {
115
+ problems.push(`stage_bindings "${stage}": skill "${entry.skill.name}" has unknown source "${String(entry.skill.source)}"`);
98
116
  }
117
+ for (const rule of entry.rules ?? []) {
118
+ if (typeof rule?.name !== 'string' || rule.name.trim() === '') {
119
+ problems.push(`stage_bindings "${stage}": skill "${entry.skill.name}" has a rule with no name`);
120
+ continue;
121
+ }
122
+ if (!['bundled', 'project', 'user'].includes(rule.source)) {
123
+ problems.push(`stage_bindings "${stage}": skill "${entry.skill.name}" rule "${rule.name}" has unknown source "${String(rule.source)}"`);
124
+ }
125
+ }
126
+ }
127
+ // Stage-level rules exist only as a migration state: they are disclosed and
128
+ // enforced, but they are not a feature. Reporting them keeps the pending
129
+ // decision visible instead of letting it settle into a permanent dual model.
130
+ if ((binding.legacy_rules ?? []).length > 0) {
131
+ problems.push(`stage_bindings "${stage}": ${binding.legacy_rules.length} legacy stage-level rule(s) are unassigned and still in force; assign each to the skill that should carry it`);
99
132
  }
100
133
  }
101
134
  if (!['task', 'item', 'manual'].includes(config.commit.policy)) {
@@ -114,6 +147,11 @@ export function validateWorkflow(config) {
114
147
  problems.push('commit.message_pattern is not a valid regular expression');
115
148
  }
116
149
  }
150
+ // An unrecognised depth would silently fall back to the heaviest one, hiding a
151
+ // typo behind stricter-than-intended behaviour.
152
+ if (config.review_depth !== undefined && config.review_depth !== 'two-stage' && config.review_depth !== 'single') {
153
+ problems.push(`review_depth "${String(config.review_depth)}" is not one of: two-stage, single`);
154
+ }
117
155
  return problems;
118
156
  }
119
157
  function requireKnownStage(stage, config) {
@@ -146,9 +184,10 @@ export function findTransition(from, to, config) {
146
184
  * two-stage review whose both stages passed, so the implementation and its
147
185
  * audit trail are completed together.
148
186
  */
149
- export function todosBlockers(state) {
187
+ export function todosBlockers(state, config) {
150
188
  if (state.items.length === 0)
151
189
  return ['no implementation items'];
190
+ const depth = config?.review_depth ?? 'two-stage';
152
191
  const blockers = [];
153
192
  for (const item of state.items) {
154
193
  if (item.status !== 'done') {
@@ -156,13 +195,20 @@ export function todosBlockers(state) {
156
195
  continue;
157
196
  }
158
197
  if (item.review === undefined) {
159
- blockers.push(`item "${item.id}" is done but has no two-stage review`);
198
+ // Every depth still requires the item to have been reviewed: a lighter flow
199
+ // checks less per change, it does not skip checking. Only the number of
200
+ // required verdicts differs.
201
+ blockers.push(`item "${item.id}" is done but has no review`);
160
202
  continue;
161
203
  }
162
- if (item.review.spec.outcome !== 'pass')
204
+ if (item.review.spec?.outcome !== 'pass')
163
205
  blockers.push(`item "${item.id}" spec review is not pass`);
164
- if (item.review.quality.outcome !== 'pass')
206
+ // `quality` is read defensively: a record written under a lighter depth, or an
207
+ // older snapshot, may carry only the specification verdict. Requiring the
208
+ // field to exist would crash on such a record instead of reporting it.
209
+ if (depth === 'two-stage' && item.review.quality?.outcome !== 'pass') {
165
210
  blockers.push(`item "${item.id}" quality review is not pass`);
211
+ }
166
212
  }
167
213
  return blockers;
168
214
  }
@@ -173,7 +219,7 @@ function guardSatisfied(guard, state, config) {
173
219
  case 'solution_confirmation':
174
220
  return state.solution_confirmed;
175
221
  case 'todos_done':
176
- return todosBlockers(state).length === 0;
222
+ return todosBlockers(state, config).length === 0;
177
223
  case 'verified': {
178
224
  if (!state.verification.passed)
179
225
  return false;
@@ -222,7 +268,7 @@ export function assertAdvance(state, targetStage, config) {
222
268
  if (unmet.length > 0) {
223
269
  const details = unmet.map(guard => {
224
270
  if (guard === 'todos_done')
225
- return `todos_done (${todosBlockers(state).join('; ')})`;
271
+ return `todos_done (${todosBlockers(state, config).join('; ')})`;
226
272
  return guard;
227
273
  });
228
274
  return { ok: false, errors: [`guards unmet: ${details.join(', ')}`] };
@@ -272,6 +318,81 @@ export function taskIdFromMessage(message, config) {
272
318
  const match = new RegExp(config.commit.message_pattern).exec(message);
273
319
  return match?.[1];
274
320
  }
321
+ /**
322
+ * Whether this task's flow ever demands a passing verification.
323
+ *
324
+ * A preset that never guards an edge on `verified` is telling the engine that
325
+ * verification is not one of its completion conditions, so a downstream stage
326
+ * must not invent the requirement.
327
+ * @param config - the frozen workflow config.
328
+ * @returns true when any configured transition requires `verified`.
329
+ */
330
+ export function flowRequiresVerification(config) {
331
+ return config.transitions.some(transition => (transition.requires ?? []).includes('verified'));
332
+ }
333
+ /**
334
+ * Stages where a passing verification must still HOLD, derived from the graph.
335
+ *
336
+ * `verified` guards the edge INTO a stage, so the requirement follows the task
337
+ * past that edge rather than applying from the start: a task sitting at 需求评审
338
+ * has produced nothing to verify. Once a task has crossed a `verified` edge,
339
+ * though, the requirement stays with it — that is the case the old code missed,
340
+ * where re-verifying and failing let the task continue and commit.
341
+ *
342
+ * Computed by walking forward from every `verified` edge's target, so it is a
343
+ * property of the configured graph rather than a hardcoded stage name.
344
+ * @param config - the frozen workflow config.
345
+ * @returns the set of stages at or after a verification gate.
346
+ */
347
+ export function verificationHeldStages(config) {
348
+ const held = new Set();
349
+ const queue = config.transitions
350
+ .filter(transition => (transition.requires ?? []).includes('verified'))
351
+ .map(transition => transition.to);
352
+ while (queue.length > 0) {
353
+ const stage = queue.shift();
354
+ if (held.has(stage))
355
+ continue;
356
+ held.add(stage);
357
+ for (const transition of config.transitions) {
358
+ if (transition.from === stage && !held.has(transition.to))
359
+ queue.push(transition.to);
360
+ }
361
+ }
362
+ return held;
363
+ }
364
+ /**
365
+ * Why the current state fails the flow's verification requirement, if it does.
366
+ *
367
+ * Applies only once the task has reached a stage that sits at or after a
368
+ * verification gate, so it never fires on a task that has not yet had anything
369
+ * to verify. Completion and commit share this rule, which is what stops a failed
370
+ * re-verification from being outrun by advancing to a stage whose own outgoing
371
+ * edge happens not to repeat the guard.
372
+ * @param state - the task state.
373
+ * @param config - the frozen workflow config.
374
+ * @returns human-readable blockers; empty when the requirement does not apply or holds.
375
+ */
376
+ export function verificationBlockers(state, config) {
377
+ if (state.execution_version !== 1)
378
+ return [];
379
+ if (!verificationHeldStages(config).has(state.stage))
380
+ return [];
381
+ const blockers = [];
382
+ if (!state.verification.passed) {
383
+ blockers.push('this flow requires a passing verification at this stage, and the current verification is not passing');
384
+ }
385
+ if (config.high_risk_requires_verification && state.risk_level === 'high_risk') {
386
+ const receipt = state.verification.receipt;
387
+ if (receipt === undefined) {
388
+ blockers.push('a high-risk task needs a real command receipt, and none is recorded');
389
+ }
390
+ else if (receipt.exit_code !== 0 || receipt.timed_out || receipt.aborted) {
391
+ blockers.push('a high-risk task needs a command that exited 0 without timing out or aborting');
392
+ }
393
+ }
394
+ return blockers;
395
+ }
275
396
  /**
276
397
  * Decide whether the current task state permits a commit and with what label.
277
398
  *
@@ -285,6 +406,14 @@ export function commitCheckpoint(state, config) {
285
406
  if (policy === 'manual') {
286
407
  return { allowed: false, reason: 'commit policy is manual — await an explicit user instruction' };
287
408
  }
409
+ // A flow that requires verification requires it HERE, wherever "here" is. The
410
+ // outgoing-guard check below only sees the current stage's edges, so a task
411
+ // that re-verified and failed could reach a stage whose edge does not repeat
412
+ // `verified` and be authorized anyway. Completion and commit share this rule.
413
+ const verification = verificationBlockers(state, config);
414
+ if (verification.length > 0) {
415
+ return { allowed: false, reason: verification.join('; ') };
416
+ }
288
417
  if (checkpoints.includes(state.stage)) {
289
418
  const ready = config.transitions
290
419
  .filter(transition => transition.from === state.stage)
@@ -302,6 +431,192 @@ export function commitCheckpoint(state, config) {
302
431
  }
303
432
  return { allowed: false, reason: 'no commit is due at this stage under the current policy' };
304
433
  }
434
+ /**
435
+ * Whether a stage is terminal in the configured graph (no outgoing transition).
436
+ * @param stage - the stage to test.
437
+ * @param config - the frozen workflow config.
438
+ * @returns true when nothing follows this stage.
439
+ */
440
+ export function isTerminalStage(stage, config) {
441
+ return !config.transitions.some(transition => transition.from === stage);
442
+ }
443
+ /**
444
+ * Whether the delivery mode requires a recorded commit before completion.
445
+ * @param config - the frozen workflow config.
446
+ * @returns true when a commit must be recorded (the historical default).
447
+ */
448
+ export function commitRequired(config) {
449
+ return config.commit_required ?? true;
450
+ }
451
+ /**
452
+ * Every reason the task may not be marked complete.
453
+ *
454
+ * Completion is its own fact, checked here rather than inferred from standing on
455
+ * the last stage. Three things can hold it back: the task has not reached a
456
+ * terminal stage, the flow's own `todos_done` conditions are unmet, or the
457
+ * delivery mode wants a commit that is not recorded. Deliberately NOT included:
458
+ * a blanket demand for a commit on every flow, because a commit is one delivery
459
+ * mode rather than a universal finish line.
460
+ * @param state - the task state.
461
+ * @param config - the frozen workflow config.
462
+ * @returns human-readable blockers; empty when the task may complete.
463
+ */
464
+ /**
465
+ * Configurations a stage needs but that cannot be resolved.
466
+ *
467
+ * Disclosure is not enforcement. `missing_rules` was reported in status and never
468
+ * blocked anything, so deleting a rule a stage was bound to still let the task
469
+ * advance — leaving a stage running without the constraints it was configured
470
+ * with, while the record looked fine.
471
+ *
472
+ * This is a pure decision over names, so the tool and the hook reach the same
473
+ * verdict from the same inputs. It takes the unresolved names rather than reading
474
+ * anything, because resolution needs a filesystem and this must stay callable from
475
+ * both planes.
476
+ * @param unresolved - references that resolved nowhere, as `source:name` or a bare legacy name.
477
+ * @param stage - the stage whose configuration is being checked.
478
+ * @returns one blocker per unresolved resource, empty when the stage is complete.
479
+ */
480
+ export function resourceBlockers(unresolved, stage) {
481
+ return unresolved.map(name => `${stage}: "${name}" is bound here but resolves nowhere — a stage cannot be completed without the rules it was configured with. `
482
+ + 'Restore the file, point the binding at the right layer, or remove the binding. If this task was created before resource freezing, its snapshot is absent and it must read live files.');
483
+ }
484
+ /**
485
+ * The outcomes a flow's FINAL stage is required to have, derived from its guards.
486
+ *
487
+ * Completion used to check only standing-on-a-final-stage, unfinished items and
488
+ * whether a commit existed. A flow that declares `review_passed` or `verified` on
489
+ * its way into the terminal stage was therefore satisfiable by ARRIVING there: the
490
+ * agile flow's review verdict and the standard flow's verification could both be
491
+ * failing while `complete` succeeded.
492
+ *
493
+ * Derived rather than hardcoded, because a flow that declares no verification gate
494
+ * must not be made to demand one — the requirement is whatever the flow said.
495
+ * @param config - the effective workflow.
496
+ * @returns the guard names the final stage's incoming edges require.
497
+ */
498
+ export function terminalRequirements(config) {
499
+ const terminals = new Set(config.stages.filter(stage => isTerminalStage(stage, config)));
500
+ const required = new Set(config.completion_guards ?? []);
501
+ for (const transition of config.transitions) {
502
+ if (!terminals.has(transition.to))
503
+ continue;
504
+ for (const guard of transition.requires ?? [])
505
+ required.add(guard);
506
+ }
507
+ return [...required];
508
+ }
509
+ export function completionBlockers(state, config) {
510
+ const blockers = [];
511
+ if (state.completed !== undefined)
512
+ return [];
513
+ if (!isTerminalStage(state.stage, config)) {
514
+ blockers.push(`task is at "${state.stage}", which is not a final stage; advance to one of: ${config.stages.filter(s => isTerminalStage(s, config)).join(', ')}`);
515
+ }
516
+ for (const guard of new Set(config.transitions.flatMap(transition => transition.requires ?? []))) {
517
+ // Only conditions that describe the finished work. Confirmation guards are
518
+ // per-edge approvals and are already enforced on the way through.
519
+ if (guard === 'todos_done') {
520
+ const unmet = todosBlockers(state, config);
521
+ if (unmet.length > 0)
522
+ blockers.push(`implementation items are not finished: ${unmet.join('; ')}`);
523
+ }
524
+ }
525
+ // The final stage's own incoming guards. Reaching the last stage is not the same
526
+ // as having satisfied what the flow said that stage means: a declared review or
527
+ // verification must actually hold, not merely have been arrived at. Derived from
528
+ // the flow, so a flow that declares no verification gate is not made to demand
529
+ // one. Confirmation guards are excluded — they are per-edge human approvals
530
+ // already recorded on the way through, and re-asking would demand a second
531
+ // approval for the same decision.
532
+ const requirements = terminalRequirements(config).filter(guard => guard !== 'requirement_confirmation' && guard !== 'solution_confirmation');
533
+ // Read defensively: a record written before this field existed, or built by a
534
+ // caller that never ran a review, has no verdict to read — which is not a passing
535
+ // one. Treating "no review recorded" as absent rather than crashing keeps the gate
536
+ // honest and the function total.
537
+ const reviewOutcome = state.review?.outcome;
538
+ if (requirements.includes('review_passed') && reviewOutcome !== 'pass') {
539
+ blockers.push(`this flow requires a passing review before completion, and the recorded review is "${reviewOutcome ?? 'none'}"`);
540
+ }
541
+ if (requirements.includes('verified') && state.verification?.passed !== true) {
542
+ blockers.push('this flow requires a passing verification before completion, and the recorded verification is not passing');
543
+ }
544
+ if (commitRequired(config)) {
545
+ const hasCommit = state.commits.some(commit => commit.hash !== undefined);
546
+ if (!hasCommit)
547
+ blockers.push('this flow requires a recorded commit before completion, and none is recorded');
548
+ }
549
+ return blockers;
550
+ }
551
+ /**
552
+ * Which recorded conclusions a rework of the given kind invalidates.
553
+ *
554
+ * Derived from what each kind of change actually supersedes:
555
+ *
556
+ * - `requirement`: the agreed requirement changed, so its confirmation no longer
557
+ * speaks for the work, and neither does the solution built on it. Verification,
558
+ * review and item audits all judged a tree derived from the old requirement.
559
+ * - `solution`: the requirement stands, but the approach changed. Its confirmation
560
+ * falls, along with everything that judged the implementation of the old one.
561
+ * - `defect`: a defect in the work as specified. The requirement and solution stay
562
+ * agreed; what falls is the evidence that the OLD implementation was correct —
563
+ * verification, review, and the per-item audits.
564
+ *
565
+ * A confirmation is always re-askable rather than silently assumed, because the
566
+ * human who approved it approved a different thing.
567
+ * @param kind - the kind of change being recorded.
568
+ * @returns the conclusion names to clear.
569
+ */
570
+ export function invalidatedBy(kind) {
571
+ switch (kind) {
572
+ case 'requirement':
573
+ return ['requirement_confirmation', 'solution_confirmation', 'verification', 'review', 'item_reviews', 'commits'];
574
+ case 'solution':
575
+ return ['solution_confirmation', 'verification', 'review', 'item_reviews', 'commits'];
576
+ case 'defect':
577
+ return ['verification', 'review', 'item_reviews', 'commits'];
578
+ }
579
+ }
580
+ /**
581
+ * Apply a rework to a task record, clearing exactly the superseded conclusions.
582
+ *
583
+ * Confirmation flags are reset rather than deleted because the engine reads them
584
+ * as booleans; the other conclusions are cleared by removing the record that
585
+ * carried them, so `status` reports them as absent instead of stale.
586
+ * @param state - the task state, mutated in place.
587
+ * @param revision - the rework to apply.
588
+ * @returns the stage reached and the conclusions cleared.
589
+ */
590
+ export function applyRevision(state, revision) {
591
+ const cleared = invalidatedBy(revision.kind);
592
+ if (cleared.includes('requirement_confirmation'))
593
+ state.requirement_confirmed = false;
594
+ if (cleared.includes('solution_confirmation'))
595
+ state.solution_confirmed = false;
596
+ if (cleared.includes('verification')) {
597
+ state.verification = { passed: false, evidence: [] };
598
+ }
599
+ if (cleared.includes('review')) {
600
+ state.review = { outcome: 'pending' };
601
+ }
602
+ if (cleared.includes('item_reviews')) {
603
+ for (const item of state.items) {
604
+ delete item.review;
605
+ // An item whose audit is gone is no longer proven done, so it returns to
606
+ // the state where its work is still outstanding.
607
+ if (item.status === 'done')
608
+ item.status = 'doing';
609
+ }
610
+ }
611
+ if (cleared.includes('commits'))
612
+ state.commits = [];
613
+ // Going back means the task is open again; a completed task that reworks is a
614
+ // task whose completion no longer describes it.
615
+ delete state.completed;
616
+ state.stage = revision.to;
617
+ state.revisions = [...(state.revisions ?? []), { ...revision, invalidated: cleared }];
618
+ return { stage: revision.to, invalidated: cleared };
619
+ }
305
620
  /**
306
621
  * Check a commit's file set against the task's declared scope. No-op when
307
622
  * `file_scope` is off; an empty declared scope refuses every commit (the task
package/lib/engine.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/lib/hook.js CHANGED
@@ -195,10 +195,20 @@ function loadWorkflow(parsed) {
195
195
  if (typeof flow !== 'string' || flow.trim() === '') {
196
196
  refuse('项目 .dsh/eng.json 缺 "flow" 字段——设为 standard|agile|minimal,或删除该文件');
197
197
  }
198
- const override = typeof parsed.stage_bindings === 'object' && parsed.stage_bindings !== null && !Array.isArray(parsed.stage_bindings)
199
- ? { stage_bindings: parsed.stage_bindings }
200
- : undefined;
201
- const resolved = resolveFlow(flow, override);
198
+ // The hook validates the same contract the tool does, so it reads the same whole
199
+ // config: narrowing to stage_bindings would let the hook judge a commit against a
200
+ // different commit rule than the one the tool authorised it under.
201
+ const project = {
202
+ flow,
203
+ ...(typeof parsed.stage_bindings === 'object' && parsed.stage_bindings !== null && !Array.isArray(parsed.stage_bindings)
204
+ ? { stage_bindings: parsed.stage_bindings }
205
+ : {}),
206
+ ...(typeof parsed.commit === 'object' && parsed.commit !== null && !Array.isArray(parsed.commit) ? { commit: parsed.commit } : {}),
207
+ ...(Array.isArray(parsed.artifacts) ? { artifacts: parsed.artifacts } : {}),
208
+ ...(typeof parsed.review_depth === 'string' ? { review_depth: parsed.review_depth } : {}),
209
+ ...(typeof parsed.commit_required === 'boolean' ? { commit_required: parsed.commit_required } : {}),
210
+ };
211
+ const resolved = resolveFlow(flow, project);
202
212
  if (!resolved.ok) {
203
213
  refuse(`未知流程 "${resolved.flow}"(已知流程:${resolved.knownFlows.join('、')})`);
204
214
  }
package/lib/hook.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /** Correlate successful skill calls with the trusted session log, never model claims. */
2
- import type { TaskState, WorkflowConfig } from './engine.ts';
2
+ import type { EvidenceKind, TaskState, WorkflowConfig } from './engine.ts';
3
3
  export interface SkillSession {
4
4
  id?: string;
5
5
  snapshotEvents(): readonly {
@@ -11,6 +11,17 @@ export interface SkillSession {
11
11
  export declare function loadedSkills(session?: SkillSession): Map<string, string>;
12
12
  /** Terminal bindings run before entering the terminal state, not after reporting completion. */
13
13
  export declare function obligationStages(state: TaskState, workflow: WorkflowConfig): string[];
14
- /** Core skills use their native artifact/verification/commit gates; additions require a command receipt. */
15
- export declare function needsSkillReceipt(name: string): boolean;
14
+ /**
15
+ * Whether a skill must supply a command receipt, given what it declared.
16
+ *
17
+ * A binding may declare how it proves execution. A requirement or design skill
18
+ * produces a document, and demanding a "real validation command" from it forced an
19
+ * irrelevant command to satisfy a gate — the evidence existed, just in another
20
+ * form. Core skills keep their exemption because their native artifact,
21
+ * verification, review and commit gates already carry the proof.
22
+ * @param name - the bound skill's name.
23
+ * @param evidence - the declared evidence kind, if the binding named one.
24
+ * @returns true when a command receipt is what this binding owes.
25
+ */
26
+ export declare function needsSkillReceipt(name: string, evidence?: EvidenceKind): boolean;
16
27
  export declare function skillBlockers(state: TaskState, workflow: WorkflowConfig, session?: SkillSession): string[];