@codyswann/lisa 2.280.0 → 2.282.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.
Files changed (148) hide show
  1. package/all/copy-contents/gitignore +2 -0
  2. package/dist/cli/doctor-readiness-capabilities.d.ts +33 -0
  3. package/dist/cli/doctor-readiness-capabilities.d.ts.map +1 -0
  4. package/dist/cli/doctor-readiness-capabilities.js +26 -0
  5. package/dist/cli/doctor-readiness-capabilities.js.map +1 -0
  6. package/dist/cli/doctor-readiness-domain.d.ts +17 -0
  7. package/dist/cli/doctor-readiness-domain.d.ts.map +1 -0
  8. package/dist/cli/doctor-readiness-domain.js +197 -0
  9. package/dist/cli/doctor-readiness-domain.js.map +1 -0
  10. package/dist/cli/doctor-readiness-guardrails.d.ts +15 -0
  11. package/dist/cli/doctor-readiness-guardrails.d.ts.map +1 -0
  12. package/dist/cli/doctor-readiness-guardrails.js +219 -0
  13. package/dist/cli/doctor-readiness-guardrails.js.map +1 -0
  14. package/dist/cli/doctor-readiness-operations.d.ts +103 -0
  15. package/dist/cli/doctor-readiness-operations.d.ts.map +1 -0
  16. package/dist/cli/doctor-readiness-operations.js +207 -0
  17. package/dist/cli/doctor-readiness-operations.js.map +1 -0
  18. package/dist/cli/doctor-readiness-workflows.d.ts +20 -0
  19. package/dist/cli/doctor-readiness-workflows.d.ts.map +1 -1
  20. package/dist/cli/doctor-readiness-workflows.js +29 -7
  21. package/dist/cli/doctor-readiness-workflows.js.map +1 -1
  22. package/dist/cli/doctor-readiness.d.ts.map +1 -1
  23. package/dist/cli/doctor-readiness.js +18 -12
  24. package/dist/cli/doctor-readiness.js.map +1 -1
  25. package/dist/cli/index.d.ts +3 -0
  26. package/dist/cli/index.d.ts.map +1 -1
  27. package/dist/cli/index.js +20 -15
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/standards-proof-cmd.d.ts +7 -0
  30. package/dist/cli/standards-proof-cmd.d.ts.map +1 -0
  31. package/dist/cli/standards-proof-cmd.js +14 -0
  32. package/dist/cli/standards-proof-cmd.js.map +1 -0
  33. package/dist/cli/ui-setup-readiness-local.d.ts +2 -1
  34. package/dist/cli/ui-setup-readiness-local.d.ts.map +1 -1
  35. package/dist/cli/ui-setup-readiness-local.js +4 -2
  36. package/dist/cli/ui-setup-readiness-local.js.map +1 -1
  37. package/dist/cli/ui-setup-readiness.d.ts.map +1 -1
  38. package/dist/cli/ui-setup-readiness.js +3 -2
  39. package/dist/cli/ui-setup-readiness.js.map +1 -1
  40. package/dist/cli/update-check-hook.d.ts +19 -0
  41. package/dist/cli/update-check-hook.d.ts.map +1 -0
  42. package/dist/cli/update-check-hook.js +36 -0
  43. package/dist/cli/update-check-hook.js.map +1 -0
  44. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  45. package/dist/core/upstream-evidence-manifest.js +47 -6
  46. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  47. package/dist/standards/capture.d.ts +41 -0
  48. package/dist/standards/capture.d.ts.map +1 -0
  49. package/dist/standards/capture.js +196 -0
  50. package/dist/standards/capture.js.map +1 -0
  51. package/dist/standards/contract.d.ts +45 -0
  52. package/dist/standards/contract.d.ts.map +1 -0
  53. package/dist/standards/contract.js +175 -0
  54. package/dist/standards/contract.js.map +1 -0
  55. package/dist/standards/git-state.d.ts +30 -0
  56. package/dist/standards/git-state.d.ts.map +1 -0
  57. package/dist/standards/git-state.js +179 -0
  58. package/dist/standards/git-state.js.map +1 -0
  59. package/dist/standards/index.d.ts +8 -0
  60. package/dist/standards/index.d.ts.map +1 -0
  61. package/dist/standards/index.js +8 -0
  62. package/dist/standards/index.js.map +1 -0
  63. package/dist/standards/readiness.d.ts +11 -0
  64. package/dist/standards/readiness.d.ts.map +1 -0
  65. package/dist/standards/readiness.js +170 -0
  66. package/dist/standards/readiness.js.map +1 -0
  67. package/dist/standards/registry.d.ts +42 -0
  68. package/dist/standards/registry.d.ts.map +1 -0
  69. package/dist/standards/registry.js +330 -0
  70. package/dist/standards/registry.js.map +1 -0
  71. package/dist/standards/storage-reasons.d.ts +15 -0
  72. package/dist/standards/storage-reasons.d.ts.map +1 -0
  73. package/dist/standards/storage-reasons.js +48 -0
  74. package/dist/standards/storage-reasons.js.map +1 -0
  75. package/dist/standards/storage.d.ts +36 -0
  76. package/dist/standards/storage.d.ts.map +1 -0
  77. package/dist/standards/storage.js +330 -0
  78. package/dist/standards/storage.js.map +1 -0
  79. package/dist/standards/test-evidence.d.ts +19 -0
  80. package/dist/standards/test-evidence.d.ts.map +1 -0
  81. package/dist/standards/test-evidence.js +195 -0
  82. package/dist/standards/test-evidence.js.map +1 -0
  83. package/package.json +1 -1
  84. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  86. package/plugins/lisa/.codex-plugin/skills/lisa-doctor/SKILL.md +21 -3
  87. package/plugins/lisa/scripts/doctor-report.mjs +266 -22
  88. package/plugins/lisa/skills/lisa-doctor/SKILL.md +21 -3
  89. package/plugins/lisa-agy/plugin.json +1 -1
  90. package/plugins/lisa-agy/scripts/doctor-report.mjs +266 -22
  91. package/plugins/lisa-agy/skills/lisa-doctor/SKILL.md +21 -3
  92. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  93. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  94. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  95. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  97. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  98. package/plugins/lisa-copilot/scripts/doctor-report.mjs +266 -22
  99. package/plugins/lisa-copilot/skills/lisa-doctor/SKILL.md +21 -3
  100. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-cursor/scripts/doctor-report.mjs +266 -22
  102. package/plugins/lisa-cursor/skills/lisa-doctor/SKILL.md +21 -3
  103. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  105. package/plugins/lisa-expo-agy/plugin.json +1 -1
  106. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  107. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  110. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  111. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  112. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  115. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  116. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  117. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  120. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  121. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  122. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  123. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  125. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  126. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  127. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  128. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  129. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  130. package/plugins/lisa-rails-agy/plugin.json +1 -1
  131. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  132. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  133. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  134. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  135. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  136. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  137. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  138. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  139. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  140. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  141. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  142. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  143. package/plugins/src/base/scripts/doctor-report.mjs +266 -22
  144. package/plugins/src/base/skills/lisa-doctor/SKILL.md +21 -3
  145. package/rails/copy-overwrite/lefthook.yml +9 -11
  146. package/rails/copy-overwrite/scripts/lisa-clean-git-env.sh +13 -0
  147. package/typescript/copy-contents/.husky/pre-push +9 -0
  148. package/ui/index.html +3 -2
@@ -0,0 +1,103 @@
1
+ import type { ParsedWorkflow, ParsedWorkflowJob, ParsedWorkflowStep } from "./doctor-readiness-workflows.js";
2
+ /** One command an automated job runs, with the file coordinates to cite it. */
3
+ export interface ScannedCommand {
4
+ readonly workflow: string;
5
+ readonly jobId: string;
6
+ readonly command: string;
7
+ }
8
+ /** What one scan of a repository's workflows established. */
9
+ export interface OperationScan {
10
+ /** Commands running in a job this file proves is automated and ungated. */
11
+ readonly ungated: readonly ScannedCommand[];
12
+ /** Commands running in a job something already gates. */
13
+ readonly gated: readonly ScannedCommand[];
14
+ /** Stated reasons a job's gating could not be settled offline. */
15
+ readonly unresolved: readonly string[];
16
+ }
17
+ /** Optional refinements a caller layers onto a scan. */
18
+ export interface ScanOptions {
19
+ /**
20
+ * A job-level exemption, evaluated when a match is found. B1 uses it for a
21
+ * job that takes its own backup first: the destructive command is real, but
22
+ * the way back is right there in the same job.
23
+ */
24
+ readonly exemptJob?: (job: ParsedWorkflowJob) => boolean;
25
+ /**
26
+ * A workflow-level reason the match cannot be settled offline, returning
27
+ * `null` when it can. Used for triggers that make the operation obviously
28
+ * ephemeral — a per-pull-request teardown destroys what that same pull
29
+ * request created, so there is nothing durable for a gate to protect.
30
+ */
31
+ readonly unresolvedWorkflow?: (workflow: ParsedWorkflow) => string | null;
32
+ /**
33
+ * A job-level reason the match cannot be settled offline, returning `null`
34
+ * when it can. Used for a job that boots its own `services:` containers.
35
+ */
36
+ readonly unresolvedJob?: (job: ParsedWorkflowJob) => string | null;
37
+ }
38
+ /**
39
+ * Whether any text — a command, a job's `env:` block, or the two together —
40
+ * names an obviously ephemeral target.
41
+ * @param text - The text to screen (case is normalized here)
42
+ * @returns True when the text names throwaway state
43
+ */
44
+ export declare function looksEphemeral(text: string): boolean;
45
+ /**
46
+ * Whether one command is the kind of operation a producer is looking for. The
47
+ * job travels with the command because the evidence that settles the question
48
+ * is often outside the command text — a job `env:` block naming a CI database,
49
+ * for instance.
50
+ */
51
+ export type CommandPredicate = (command: string, job: ParsedWorkflowJob) => boolean;
52
+ /**
53
+ * Whether a workflow's declared triggers prove it runs without a human. A
54
+ * workflow that declares no `on:` block this parser could read is treated as
55
+ * NOT automated, because absence of a readable trigger is absence of proof.
56
+ * @param workflow - The parsed workflow
57
+ * @returns True when at least one trigger fires with no human in the loop
58
+ */
59
+ export declare function runsUnattended(workflow: ParsedWorkflow): boolean;
60
+ /**
61
+ * Whether anything in the file already gates this job. A declared
62
+ * `environment:` counts even though its protection rules are unreadable
63
+ * offline: the operator has named a deployment boundary, and calling that
64
+ * ungated would be exactly the false positive this module exists to prevent.
65
+ * @param job - The parsed job
66
+ * @returns True when the job is conditional or names an environment
67
+ */
68
+ export declare function jobIsGated(job: ParsedWorkflowJob): boolean;
69
+ /**
70
+ * Whether a step is individually gated — a conditional step, or a command that
71
+ * names its own confirmation or rehearsal switch.
72
+ * @param step - The parsed step
73
+ * @returns True when the step carries its own guard
74
+ */
75
+ export declare function stepIsGated(step: ParsedWorkflowStep): boolean;
76
+ /**
77
+ * Scan every workflow for the commands matching a predicate, partitioned by
78
+ * whether the file itself proves the command runs unattended and ungated.
79
+ * @param workflows - Parsed workflows
80
+ * @param matches - Predicate over a lower-cased `run` command
81
+ * @param options - Scan refinements
82
+ * @returns The partitioned scan
83
+ */
84
+ export declare function scanCommands(workflows: readonly ParsedWorkflow[], matches: CommandPredicate, options?: ScanOptions): OperationScan;
85
+ /**
86
+ * Whether the repository checks in an automation runbook — the "way back" half
87
+ * of B1 and B4. The `automation-runbook-contract` rule puts them under
88
+ * `.lisa/automations/*.runbook.md`; the conventional documentation homes are
89
+ * honored as well, so a project that writes its recovery procedure somewhere
90
+ * reasonable is never told it has none.
91
+ * @param root - Repository root
92
+ * @returns True when at least one runbook is checked in
93
+ */
94
+ export declare function hasCheckedInRunbook(root: string): Promise<boolean>;
95
+ /**
96
+ * Render scanned commands as one evidence string, quoting the file, the job, and
97
+ * the command so the operator can go straight to the line.
98
+ * @param commands - The commands to cite
99
+ * @param limit - Most commands to quote before summarizing the remainder
100
+ * @returns One evidence string
101
+ */
102
+ export declare function describeCommands(commands: readonly ScannedCommand[], limit: number): string;
103
+ //# sourceMappingURL=doctor-readiness-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-readiness-operations.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness-operations.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAEzC,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC;IACzD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1E;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAM,GAAG,IAAI,CAAC;CACpE;AAsBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,iBAAiB,KACnB,OAAO,CAAC;AAiBb;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAMhE;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAa7D;AAwDD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,OAAO,EAAE,gBAAgB,EACzB,OAAO,GAAE,WAAgB,GACxB,aAAa,CAef;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAWxE;AAsBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,MAAM,CAaR"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Shared consequential-operation scanning for the B1 and B4 readiness producers
3
+ * (PRD #1739, #1896).
4
+ *
5
+ * B1 ("a realistic path causes silent data loss") and B4 ("a consequential
6
+ * operation has no gate and no recovery") ask different questions about the same
7
+ * raw material: a command an automated pipeline runs. They therefore share one
8
+ * definition of what counts as *automated* and what counts as *gated*, so the
9
+ * two producers cannot drift into disagreeing about the same workflow file.
10
+ *
11
+ * Everything here is written to be wrong in the safe direction. These are the
12
+ * two most false-positive-prone blockers in the rubric, and a standing blocker
13
+ * flips the entire repository to `NOT_READY` no matter what status the finding
14
+ * carries. So a guard this module cannot see is treated as a guard that exists:
15
+ * a conditional step, a conditional job, a declared environment, a manual-only
16
+ * trigger, or a reusable workflow whose caller is invisible all mean "not
17
+ * provable from this file", and not-provable never stands a blocker.
18
+ * @module cli/doctor-readiness-operations
19
+ */
20
+ import { readdir } from "node:fs/promises";
21
+ import * as path from "node:path";
22
+ /**
23
+ * Targets that mark an operation as aimed at throwaway state — a CI database,
24
+ * a per-pull-request preview stack, a scratch stage. A pipeline that tears down
25
+ * what it just built is doing the correct thing, and reporting it as an ungated
26
+ * consequential operation is the archetypal false positive for both B1 and B4.
27
+ * Shared by both producers so they cannot drift apart on what "ephemeral" means.
28
+ */
29
+ const EPHEMERAL_TARGETS = [
30
+ /(^|[^a-z0-9])test([^a-z0-9]|$)/,
31
+ /_test\b/,
32
+ /-test\b/,
33
+ /\blocalhost\b/,
34
+ /\b127\.0\.0\.1\b/,
35
+ /(^|[^a-z0-9])(tmp|temp)([^a-z0-9]|$)/,
36
+ /(^|[^a-z0-9])pr-/,
37
+ /\bpreview\b/,
38
+ /github\.event\.number/,
39
+ /\bpull_request\b/,
40
+ ];
41
+ /**
42
+ * Whether any text — a command, a job's `env:` block, or the two together —
43
+ * names an obviously ephemeral target.
44
+ * @param text - The text to screen (case is normalized here)
45
+ * @returns True when the text names throwaway state
46
+ */
47
+ export function looksEphemeral(text) {
48
+ const normalized = text.toLowerCase();
49
+ return EPHEMERAL_TARGETS.some(pattern => pattern.test(normalized));
50
+ }
51
+ /**
52
+ * Triggers that mean the workflow does not run itself. `workflow_dispatch` puts
53
+ * a human at the console, and `workflow_call` hides the caller from an offline
54
+ * read — neither is a path this module may call automated.
55
+ */
56
+ const NON_AUTOMATED_EVENTS = [
57
+ "workflow_dispatch",
58
+ "workflow_call",
59
+ ];
60
+ /**
61
+ * Whether a workflow's declared triggers prove it runs without a human. A
62
+ * workflow that declares no `on:` block this parser could read is treated as
63
+ * NOT automated, because absence of a readable trigger is absence of proof.
64
+ * @param workflow - The parsed workflow
65
+ * @returns True when at least one trigger fires with no human in the loop
66
+ */
67
+ export function runsUnattended(workflow) {
68
+ // An empty trigger list yields `false` here, which is the intended reading:
69
+ // a workflow whose `on:` block could not be parsed proves nothing.
70
+ return workflow.on.events.some(event => !NON_AUTOMATED_EVENTS.includes(event));
71
+ }
72
+ /**
73
+ * Whether anything in the file already gates this job. A declared
74
+ * `environment:` counts even though its protection rules are unreadable
75
+ * offline: the operator has named a deployment boundary, and calling that
76
+ * ungated would be exactly the false positive this module exists to prevent.
77
+ * @param job - The parsed job
78
+ * @returns True when the job is conditional or names an environment
79
+ */
80
+ export function jobIsGated(job) {
81
+ return job.ifCondition !== "" || job.environment.length > 0;
82
+ }
83
+ /**
84
+ * Whether a step is individually gated — a conditional step, or a command that
85
+ * names its own confirmation or rehearsal switch.
86
+ * @param step - The parsed step
87
+ * @returns True when the step carries its own guard
88
+ */
89
+ export function stepIsGated(step) {
90
+ if (step.ifCondition !== "") {
91
+ return true;
92
+ }
93
+ const command = step.run.toLowerCase();
94
+ return (
95
+ // `-dryrun` covers the AWS CLI's own hyphen-less spelling and the
96
+ // double-dashed one; `--dry-run` is the GNU-style form everything else uses.
97
+ command.includes("--dry-run") ||
98
+ command.includes("-dryrun") ||
99
+ command.includes("--require-approval") ||
100
+ command.includes("inputs.confirm"));
101
+ }
102
+ /**
103
+ * State the reason one job's exposure could not be settled from the file alone.
104
+ * @param workflow - The workflow declaring the job
105
+ * @param job - The job that matched
106
+ * @returns One operator-language reason line
107
+ */
108
+ function unresolvedReason(workflow, job) {
109
+ return (`\`${workflow.file}\` job \`${job.id}\` runs a consequential operation, but ` +
110
+ "the workflow only starts from a manual dispatch or from a caller this " +
111
+ "offline read cannot see, so whether it ever runs unattended is not " +
112
+ "established either way");
113
+ }
114
+ /**
115
+ * Classify every matching step in one job.
116
+ * @param workflow - The workflow declaring the job
117
+ * @param job - The job to classify
118
+ * @param matches - Predicate over a lower-cased `run` command
119
+ * @param options - Scan refinements
120
+ * @returns The classified outcomes for this job (empty when nothing matched)
121
+ */
122
+ function classifyJob(workflow, job, matches, options) {
123
+ const hits = job.steps.filter(step => step.run !== "" && matches(step.run.toLowerCase(), job));
124
+ if (hits.length === 0) {
125
+ return [];
126
+ }
127
+ if (!runsUnattended(workflow)) {
128
+ return [{ kind: "unresolved", reason: unresolvedReason(workflow, job) }];
129
+ }
130
+ const deferred = options.unresolvedWorkflow?.(workflow) ?? options.unresolvedJob?.(job);
131
+ if (deferred !== undefined && deferred !== null) {
132
+ return [{ kind: "unresolved", reason: deferred }];
133
+ }
134
+ const jobGated = jobIsGated(job) || (options.exemptJob?.(job) ?? false);
135
+ return hits.map(step => ({
136
+ kind: jobGated || stepIsGated(step) ? "gated" : "ungated",
137
+ command: { workflow: workflow.file, jobId: job.id, command: step.run },
138
+ }));
139
+ }
140
+ /**
141
+ * Scan every workflow for the commands matching a predicate, partitioned by
142
+ * whether the file itself proves the command runs unattended and ungated.
143
+ * @param workflows - Parsed workflows
144
+ * @param matches - Predicate over a lower-cased `run` command
145
+ * @param options - Scan refinements
146
+ * @returns The partitioned scan
147
+ */
148
+ export function scanCommands(workflows, matches, options = {}) {
149
+ const outcomes = workflows.flatMap(workflow => workflow.jobs.flatMap(job => classifyJob(workflow, job, matches, options)));
150
+ return {
151
+ ungated: outcomes.flatMap(outcome => outcome.kind === "ungated" ? [outcome.command] : []),
152
+ gated: outcomes.flatMap(outcome => outcome.kind === "gated" ? [outcome.command] : []),
153
+ unresolved: outcomes.flatMap(outcome => outcome.kind === "unresolved" ? [outcome.reason] : []),
154
+ };
155
+ }
156
+ /**
157
+ * Whether the repository checks in an automation runbook — the "way back" half
158
+ * of B1 and B4. The `automation-runbook-contract` rule puts them under
159
+ * `.lisa/automations/*.runbook.md`; the conventional documentation homes are
160
+ * honored as well, so a project that writes its recovery procedure somewhere
161
+ * reasonable is never told it has none.
162
+ * @param root - Repository root
163
+ * @returns True when at least one runbook is checked in
164
+ */
165
+ export async function hasCheckedInRunbook(root) {
166
+ const holdsRunbooks = await Promise.all([
167
+ directoryHolds(root, path.join(".lisa", "automations"), ".runbook.md"),
168
+ ...["wiki/runbooks", "docs/runbooks", "runbooks"].map(async (candidate) =>
169
+ // An EMPTY directory is not a recovery procedure. Accepting one would
170
+ // make `mkdir runbooks` a one-command switch for turning B1 and B4 off.
171
+ await directoryHolds(root, candidate, ".md")),
172
+ ]);
173
+ return holdsRunbooks.includes(true);
174
+ }
175
+ /**
176
+ * Whether a repository directory holds at least one file with a given suffix.
177
+ * @param root - Repository root
178
+ * @param relativePath - Repo-relative directory path
179
+ * @param suffix - Required file-name suffix
180
+ * @returns True when the directory exists and holds a matching file
181
+ */
182
+ async function directoryHolds(root, relativePath, suffix) {
183
+ try {
184
+ const entries = await readdir(path.join(root, ...relativePath.split("/")));
185
+ return entries.some(entry => entry.endsWith(suffix));
186
+ }
187
+ catch {
188
+ return false;
189
+ }
190
+ }
191
+ /**
192
+ * Render scanned commands as one evidence string, quoting the file, the job, and
193
+ * the command so the operator can go straight to the line.
194
+ * @param commands - The commands to cite
195
+ * @param limit - Most commands to quote before summarizing the remainder
196
+ * @returns One evidence string
197
+ */
198
+ export function describeCommands(commands, limit) {
199
+ const shown = commands.slice(0, limit);
200
+ const overflow = commands.length - shown.length;
201
+ const lines = shown.map(entry => `\`${entry.workflow}\` job \`${entry.jobId}\` runs \`${entry.command}\``);
202
+ return (lines.join(" | ") +
203
+ (overflow > 0
204
+ ? ` | (+${overflow} further operation(s) of the same kind)`
205
+ : ""));
206
+ }
207
+ //# sourceMappingURL=doctor-readiness-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-readiness-operations.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness-operations.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,12 @@ export interface ParsedWorkflowStep {
27
27
  readonly uses: string;
28
28
  /** Raw serialized `env` + `with` text, used for credential evidence. */
29
29
  readonly inputs: string;
30
+ /**
31
+ * The step's `if:` condition, or `""` when it always runs. Load-bearing for
32
+ * the B1/B4 producers: a conditional step is a step somebody deliberately
33
+ * gated, which is exactly what those blockers ask about.
34
+ */
35
+ readonly ifCondition: string;
30
36
  }
31
37
  /** One job inside a parsed workflow. */
32
38
  export interface ParsedWorkflowJob {
@@ -43,6 +49,20 @@ export interface ParsedWorkflowJob {
43
49
  readonly secrets: WorkflowBlock;
44
50
  /** Declared deployment environments (a scalar or list, normalized). */
45
51
  readonly environment: readonly string[];
52
+ /** The job's `if:` condition, or `""` when it always runs. */
53
+ readonly ifCondition: string;
54
+ /**
55
+ * The job-level `env:` block, flattened to `key: value` lines. The B1
56
+ * producer resolves a command's target through it: `psql "$DATABASE_URL"`
57
+ * says nothing on its own, while the `DATABASE_URL` it expands to may name
58
+ * `127.0.0.1` and settle the question.
59
+ */
60
+ readonly env: string;
61
+ /**
62
+ * Ids of the `services:` containers the job starts. A job that boots its own
63
+ * database is operating on throwaway state by construction.
64
+ */
65
+ readonly services: readonly string[];
46
66
  }
47
67
  /** One parsed `.github/workflows/*.yml` file. */
48
68
  export interface ParsedWorkflow {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness-workflows.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness-workflows.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C;AA0LD;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAQpC"}
1
+ {"version":3,"file":"doctor-readiness-workflows.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness-workflows.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,6CAA6C;AAC7C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,wCAAwC;AACxC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,qBAAqB,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C;AAkND;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAQpC"}
@@ -86,13 +86,31 @@ function parseTrigger(value) {
86
86
  * @returns Flattened `key: value` text, one pair per line
87
87
  */
88
88
  function serializeStepInputs(step) {
89
- return ["env", "with"]
90
- .flatMap(key => {
91
- const block = step[key];
92
- return isJsonObject(block) ? Object.entries(block) : [];
93
- })
94
- .map(([name, value]) => `${name}: ${typeof value === "string" ? value : String(value)}`)
95
- .join("\n");
89
+ return ["env", "with"].flatMap(key => serializeBlock(step[key])).join("\n");
90
+ }
91
+ /**
92
+ * Flatten one YAML mapping to `key: value` lines so it can be searched as text.
93
+ * @param value - Candidate YAML mapping
94
+ * @returns One line per entry (empty when the value is not a mapping)
95
+ */
96
+ function serializeBlock(value) {
97
+ if (!isJsonObject(value)) {
98
+ return [];
99
+ }
100
+ return Object.entries(value).map(([name, entry]) => `${name}: ${typeof entry === "string" ? entry : String(entry)}`);
101
+ }
102
+ /**
103
+ * Normalize an `if:` condition, which GitHub accepts as an expression string or
104
+ * a bare boolean. Any non-empty value means the thing is conditional; the text
105
+ * itself is carried only so evidence can quote it.
106
+ * @param value - Candidate YAML `if` value
107
+ * @returns The condition text, or `""` when the block is absent
108
+ */
109
+ function asCondition(value) {
110
+ if (value === undefined || value === null) {
111
+ return "";
112
+ }
113
+ return typeof value === "string" ? value.trim() : String(value);
96
114
  }
97
115
  /**
98
116
  * Parse one job's `steps` list.
@@ -108,6 +126,7 @@ function parseSteps(value) {
108
126
  run: typeof step.run === "string" ? step.run.trim() : "",
109
127
  uses: typeof step.uses === "string" ? step.uses.trim() : "",
110
128
  inputs: serializeStepInputs(step),
129
+ ifCondition: asCondition(step.if),
111
130
  }));
112
131
  }
113
132
  /**
@@ -136,6 +155,9 @@ function parseJobs(document, file) {
136
155
  permissions: asBlock(job.permissions),
137
156
  secrets: asBlock(job.secrets),
138
157
  environment: asEnvironments(job.environment),
158
+ ifCondition: asCondition(job.if),
159
+ env: serializeBlock(job.env).join("\n"),
160
+ services: isJsonObject(job.services) ? Object.keys(job.services) : [],
139
161
  },
140
162
  ];
141
163
  });
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness-workflows.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness-workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-readiness-workflows.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness-workflows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AAmBxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAM5E,OAAO,EACL,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,GACd,MAAM,gCAAgC,CAAC;AAQxC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAuE1C,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACA,CAAC;AAetD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CA0CtB;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,SAAS,uBAAuB,EAAE,GAC7C,MAAM,CAeR;AAmCD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAUnC;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"doctor-readiness.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-readiness.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAC;AA+BxC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAM5E,OAAO,EACL,iCAAiC,EACjC,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,GACd,MAAM,gCAAgC,CAAC;AAQxC;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAkE1C,gEAAgE;AAChE,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACA,CAAC;AAetD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,wBAAwB,CAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CA0CtB;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,gBAAgB,EACzB,UAAU,EAAE,SAAS,uBAAuB,EAAE,GAC7C,MAAM,CAeR;AAsCD;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAUnC;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,UAAU,EAAE,MAAM,KACf,OAAO,CAAC,wBAAwB,CAAC,CAAC"}
@@ -6,6 +6,9 @@ import { assessReadiness, } from "./doctor-readiness-blockers.js";
6
6
  import { DELIVERY_AUTHORITY_DIMENSION_ID, assessDeliveryAuthorityDimension, } from "./doctor-readiness-delivery.js";
7
7
  import { CONTEXT_ROUTING_DIMENSION_ID, assessContextRoutingDimension, } from "./doctor-readiness-context.js";
8
8
  import { DEPENDENCIES_SUPPLY_CHAIN_DIMENSION_ID, assessDependenciesSupplyChainDimension, } from "./doctor-readiness-supply-chain.js";
9
+ import { CAPABILITIES_TOOLS_DIMENSION_ID, assessCapabilitiesToolsDimension, } from "./doctor-readiness-capabilities.js";
10
+ import { DOMAIN_OWNERSHIP_DIMENSION_ID, assessDomainOwnershipDimension, } from "./doctor-readiness-domain.js";
11
+ import { FEEDBACK_GUARDRAILS_DIMENSION_ID, assessFeedbackGuardrailsDimension, } from "./doctor-readiness-guardrails.js";
9
12
  import { EXECUTION_PROOF_DIMENSION_ID, PROPORTIONALITY_DIMENSION_ID, assessExecutionProofDimension, assessProportionalityDimension, } from "./doctor-readiness-journey.js";
10
13
  import { getPackageVersion } from "./version.js";
11
14
  // Re-export the blocker-gate surface (RRR-5, #1857) so `.lisa/readiness.json`
@@ -24,10 +27,10 @@ export const READINESS_SCHEMA_VERSION = 1;
24
27
  /**
25
28
  * The eight ownership dimensions, in fixed render order, defined once by the
26
29
  * `readiness-rubric` rule (RRR-1, #1853). This collector consumes that rubric —
27
- * it does not redefine the vocabulary. Evidence gathering is wired dimension by
28
- * dimension (see `DIMENSION_PRODUCERS`); a dimension whose producer has not
29
- * shipped yet renders `SKIP` carrying the `skipReason` stated here, per the
30
- * shipped never-silently-omit contract (#1898).
30
+ * it does not redefine the vocabulary. As of #1896 every one of the eight is
31
+ * wired to a producer in {@link DIMENSION_PRODUCERS}, so no dimension is ever
32
+ * blank: each renders either a producer's result or that producer's own stated
33
+ * reason for not assessing it, per the never-silently-omit contract (#1898).
31
34
  */
32
35
  const READINESS_DIMENSIONS = [
33
36
  {
@@ -37,12 +40,10 @@ const READINESS_DIMENSIONS = [
37
40
  {
38
41
  id: "capabilities-tools",
39
42
  question: "Is every tool the work needs provably reachable, not merely installed (tool-access-gate)?",
40
- skipReason: "Capabilities/tools evidence is gathered by the journey-execution wiring (RRR-6, #1858); no readiness probe is wired in this Lisa version.",
41
43
  },
42
44
  {
43
45
  id: "domain-ownership",
44
46
  question: "Are the business rules, glossary, and danger zones owned and written down (agent-ready domain phase wiki pages)?",
45
- skipReason: "Domain-ownership evidence sources from agent-ready's danger-zone wiki pages, read by RRR-4 (#1856); no readiness probe is wired in this Lisa version.",
46
47
  },
47
48
  {
48
49
  id: "execution-proof",
@@ -51,7 +52,6 @@ const READINESS_DIMENSIONS = [
51
52
  {
52
53
  id: "feedback-guardrails",
53
54
  question: "Does a failing loop produce a named outcome and a runbook (automation-runbook-contract, observability-audit)?",
54
- skipReason: "Feedback/guardrails evidence is assessed by RRR-4 (#1856); no readiness probe is wired in this Lisa version.",
55
55
  },
56
56
  {
57
57
  id: "dependencies-supply-chain",
@@ -184,11 +184,14 @@ export function formatReadinessHeadline(verdict, dimensions) {
184
184
  * to its producer. Execution/proof and proportionality are wired to #1742's
185
185
  * shared journey runner (RRR-6, #1858); delivery/authority is wired to the
186
186
  * offline workflow producers assessing ship blockers B2 and B3, context/routing
187
- * to the documentation cross-check assessing B6, and dependencies/supply-chain
188
- * to the manifest and audit-gate producer assessing B5 (#1896). A
189
- * dimension with no producer yet falls through to a stated-reason SKIP rather
190
- * than a blank one (#1898), so the report never presents "never looked" as
191
- * "nothing to report".
187
+ * to the documentation cross-check assessing B6, dependencies/supply-chain to
188
+ * the manifest and audit-gate producer assessing B5, domain-ownership to the
189
+ * silent-data-loss producer assessing B1, feedback/guardrails to the
190
+ * gate-and-recovery producer assessing B4, and capabilities/tools to a producer
191
+ * whose only honest answer is a reasoned SKIP, because tool reachability needs a
192
+ * live probe (#1896). A dimension with no producer would fall through to a
193
+ * stated-reason SKIP rather than a blank one (#1898), so the report never
194
+ * presents "never looked" as "nothing to report".
192
195
  * @param targetPath - Project path to assess
193
196
  * @returns The eight per-dimension records, in fixed order
194
197
  */
@@ -232,6 +235,9 @@ const DIMENSION_PRODUCERS = {
232
235
  [EXECUTION_PROOF_DIMENSION_ID]: async (targetPath) => await assessExecutionProofDimension(targetPath),
233
236
  [PROPORTIONALITY_DIMENSION_ID]: async (targetPath) => await assessProportionalityDimension(targetPath),
234
237
  [DELIVERY_AUTHORITY_DIMENSION_ID]: async (targetPath) => await assessDeliveryAuthorityDimension(targetPath),
238
+ [CAPABILITIES_TOOLS_DIMENSION_ID]: async (targetPath) => await assessCapabilitiesToolsDimension(targetPath),
239
+ [DOMAIN_OWNERSHIP_DIMENSION_ID]: async (targetPath) => await assessDomainOwnershipDimension(targetPath),
240
+ [FEEDBACK_GUARDRAILS_DIMENSION_ID]: async (targetPath) => await assessFeedbackGuardrailsDimension(targetPath),
235
241
  };
236
242
  /**
237
243
  * Build the stated-reason SKIP a dimension without a wired producer renders
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-readiness.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-readiness.js","sourceRoot":"","sources":["../../src/cli/doctor-readiness.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { runKaneCli, runKanePilotCli, runKaneProbeCli } from "./kane-cmd.js";
9
9
  import { printUpdateWarning } from "./print-update-warning.js";
10
10
  import { runSetupProject } from "./setup-project.js";
11
11
  import { runSetupWiki } from "./setup-wiki.js";
12
+ import { runStandardsProofCli } from "./standards-proof-cmd.js";
12
13
  import { runSync } from "./sync-cmd.js";
13
14
  import { runUi } from "./ui-cmd.js";
14
15
  import { runUpdate } from "./update-cmd.js";
@@ -44,6 +45,8 @@ export interface ProgramDependencies {
44
45
  runFileUpstream: typeof runFileUpstream;
45
46
  /** Runs and persists the shared Health v1 consumer. */
46
47
  runHealthCli: typeof runHealthCli;
48
+ /** Runs every standards command and writes freshness-bound proof. */
49
+ runStandardsProofCli: typeof runStandardsProofCli;
47
50
  /** Runs one policy-approved Kane empirical browser objective. */
48
51
  runKaneCli: typeof runKaneCli;
49
52
  /** Probes Kane installation, authentication, and Test Manager readiness. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAmND;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAiFT;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAEL,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAyB,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAEhB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAEL,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAuB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAqB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,wCAAwC;IACxC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,yDAAyD;IACzD,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,2EAA2E;IAC3E,OAAO,EAAE,OAAO,OAAO,CAAC;IACxB,8DAA8D;IAC9D,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,sEAAsE;IACtE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,uDAAuD;IACvD,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,qEAAqE;IACrE,oBAAoB,EAAE,OAAO,oBAAoB,CAAC;IAClD,iEAAiE;IACjE,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,kEAAkE;IAClE,eAAe,EAAE,OAAO,eAAe,CAAC;IACxC,gFAAgF;IAChF,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,0EAA0E;IAC1E,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;CAC/C;AAyOD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,YAAY,GAAE,OAAO,CAAC,mBAAmB,CAAM,GAC9C,OAAO,CAgET;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}