@dzhechkov/harness-core 0.8.2 → 0.8.6

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 (81) hide show
  1. package/.dz-manifest.json +146 -58
  2. package/README.md +72 -2
  3. package/dist/cmd-usage.d.ts +148 -0
  4. package/dist/cmd-usage.d.ts.map +1 -0
  5. package/dist/cmd-usage.js +548 -0
  6. package/dist/cmd-usage.js.map +1 -0
  7. package/dist/compounding.d.ts +4 -0
  8. package/dist/compounding.d.ts.map +1 -1
  9. package/dist/compounding.js +6 -0
  10. package/dist/compounding.js.map +1 -1
  11. package/dist/contract-checklist.d.ts +123 -0
  12. package/dist/contract-checklist.d.ts.map +1 -0
  13. package/dist/contract-checklist.js +700 -0
  14. package/dist/contract-checklist.js.map +1 -0
  15. package/dist/feature-adr-checkpoints.d.ts +11 -2
  16. package/dist/feature-adr-checkpoints.d.ts.map +1 -1
  17. package/dist/feature-adr-checkpoints.js +37 -2
  18. package/dist/feature-adr-checkpoints.js.map +1 -1
  19. package/dist/feature-adr-routing.d.ts +58 -23
  20. package/dist/feature-adr-routing.d.ts.map +1 -1
  21. package/dist/feature-adr-routing.js +208 -59
  22. package/dist/feature-adr-routing.js.map +1 -1
  23. package/dist/guard.d.ts +25 -0
  24. package/dist/guard.d.ts.map +1 -1
  25. package/dist/guard.js +59 -1
  26. package/dist/guard.js.map +1 -1
  27. package/dist/index.d.ts +9 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +8 -1
  30. package/dist/index.js.map +1 -1
  31. package/dist/loop-blobs.generated.js +8 -8
  32. package/dist/loop-blobs.generated.js.map +1 -1
  33. package/dist/loop-plan.d.ts +13 -1
  34. package/dist/loop-plan.d.ts.map +1 -1
  35. package/dist/loop-plan.js +15 -1
  36. package/dist/loop-plan.js.map +1 -1
  37. package/dist/loop-render.d.ts.map +1 -1
  38. package/dist/loop-render.js +51 -6
  39. package/dist/loop-render.js.map +1 -1
  40. package/dist/loop-trace.d.ts +20 -1
  41. package/dist/loop-trace.d.ts.map +1 -1
  42. package/dist/loop-trace.js +83 -1
  43. package/dist/loop-trace.js.map +1 -1
  44. package/dist/model-recommender.d.ts +8 -0
  45. package/dist/model-recommender.d.ts.map +1 -1
  46. package/dist/model-recommender.js +31 -4
  47. package/dist/model-recommender.js.map +1 -1
  48. package/dist/qe-bridge.d.ts.map +1 -1
  49. package/dist/qe-bridge.js +9 -0
  50. package/dist/qe-bridge.js.map +1 -1
  51. package/dist/restart-advisor.d.ts +103 -0
  52. package/dist/restart-advisor.d.ts.map +1 -0
  53. package/dist/restart-advisor.js +445 -0
  54. package/dist/restart-advisor.js.map +1 -0
  55. package/dist/slop-lint.d.ts +128 -0
  56. package/dist/slop-lint.d.ts.map +1 -0
  57. package/dist/slop-lint.js +607 -0
  58. package/dist/slop-lint.js.map +1 -0
  59. package/dist/workflow-run.d.ts.map +1 -1
  60. package/dist/workflow-run.js +18 -12
  61. package/dist/workflow-run.js.map +1 -1
  62. package/package.json +19 -15
  63. package/sbom.json +277 -57
  64. package/src/cmd-usage.ts +720 -0
  65. package/src/compounding.ts +13 -0
  66. package/src/contract-checklist.ts +973 -0
  67. package/src/deadwood-allowlist.json +80 -0
  68. package/src/feature-adr-checkpoints.ts +38 -2
  69. package/src/feature-adr-routing.ts +238 -55
  70. package/src/guard.ts +79 -1
  71. package/src/index.ts +81 -1
  72. package/src/loop-blobs.generated.ts +8 -8
  73. package/src/loop-plan.ts +36 -3
  74. package/src/loop-render.ts +50 -6
  75. package/src/loop-trace.ts +91 -2
  76. package/src/model-recommender.ts +35 -4
  77. package/src/qe-bridge.ts +9 -0
  78. package/src/restart-advisor.ts +579 -0
  79. package/src/slop-lint.ts +762 -0
  80. package/src/slop-markers.json +71 -0
  81. package/src/workflow-run.ts +18 -11
@@ -0,0 +1,128 @@
1
+ export type SlopLanguage = 'en' | 'ru';
2
+ export type SlopRuleId = 'lexical-density' | 'bullet-wall' | 'triple-adjective-stack';
3
+ export interface SlopValidationError {
4
+ readonly field: string;
5
+ readonly value: unknown;
6
+ readonly reason: string;
7
+ }
8
+ export type ValidationResult<T> = {
9
+ readonly ok: true;
10
+ readonly value: T;
11
+ } | {
12
+ readonly ok: false;
13
+ readonly errors: readonly SlopValidationError[];
14
+ };
15
+ export interface SlopDiagnostic {
16
+ readonly code: 'unclosed-example-block' | 'input-limit-exceeded' | 'analysis-error';
17
+ readonly line: number;
18
+ readonly message: string;
19
+ }
20
+ export interface SlopRegistryEntry {
21
+ readonly id: string;
22
+ readonly language: SlopLanguage;
23
+ readonly match: {
24
+ readonly kind: 'form' | 'stem' | 'phrase';
25
+ readonly values: readonly string[];
26
+ };
27
+ readonly rationale: string;
28
+ readonly provenance: {
29
+ readonly source: string;
30
+ readonly license: 'repository-authored';
31
+ };
32
+ }
33
+ export interface SlopRegistry {
34
+ readonly schema: 'dz-slop-registry/1';
35
+ readonly metadata: {
36
+ readonly policyVersion: string;
37
+ readonly owner: string;
38
+ readonly reviewCadence: string;
39
+ readonly englishReference: {
40
+ readonly repository: string;
41
+ readonly commit: string;
42
+ readonly path: string;
43
+ readonly license: 'none-declared';
44
+ readonly retrieved: string;
45
+ readonly use: string;
46
+ };
47
+ };
48
+ readonly markers: readonly SlopRegistryEntry[];
49
+ readonly adjectives: readonly SlopRegistryEntry[];
50
+ }
51
+ export interface SlopLintConfig {
52
+ readonly schema: 'dz-slop-config/1';
53
+ readonly lexicalDensityPer100Words: Readonly<{
54
+ en: number;
55
+ ru: number;
56
+ }>;
57
+ readonly lexicalMinimumMarkers: number;
58
+ readonly lexicalWordFloor: number;
59
+ readonly bulletMinimumItems: number;
60
+ readonly bulletMinimumLineRatio: number;
61
+ readonly bulletMaximumMeanWords: number;
62
+ readonly adjectiveStackSize: 3;
63
+ }
64
+ export interface SlopEvidence {
65
+ readonly id: string;
66
+ readonly language: SlopLanguage;
67
+ readonly normalizedSpan: string;
68
+ readonly text: string;
69
+ readonly lineStart: number;
70
+ readonly columnStart: number;
71
+ readonly lineEnd: number;
72
+ readonly columnEnd: number;
73
+ readonly startOffset: number;
74
+ readonly endOffset: number;
75
+ readonly count: 1;
76
+ }
77
+ export interface SlopFindingMetrics {
78
+ readonly markerCount: number;
79
+ readonly distinctMarkers: number;
80
+ readonly visibleWords: number;
81
+ readonly densityPer100Words: number;
82
+ readonly listItems: number;
83
+ readonly listLineRatio: number;
84
+ readonly listMeanWords: number;
85
+ readonly adjectiveCount: number;
86
+ }
87
+ export interface SlopFindingThresholds {
88
+ readonly densityPer100Words: number;
89
+ readonly minimumMarkers: number;
90
+ readonly wordFloor: number;
91
+ readonly bulletMinimumItems: number;
92
+ readonly bulletMinimumLineRatio: number;
93
+ readonly bulletMaximumMeanWords: number;
94
+ readonly adjectiveStackSize: 3;
95
+ }
96
+ export interface SlopFinding {
97
+ readonly ruleId: SlopRuleId;
98
+ readonly severity: 'advisory';
99
+ readonly paragraph: number;
100
+ readonly lineStart: number;
101
+ readonly columnStart: number;
102
+ readonly lineEnd: number;
103
+ readonly columnEnd: number;
104
+ readonly language: SlopLanguage | 'mixed' | 'structural';
105
+ readonly excerpt: string;
106
+ readonly evidence: readonly SlopEvidence[];
107
+ readonly metrics: SlopFindingMetrics;
108
+ readonly thresholds: SlopFindingThresholds;
109
+ readonly suggestion: string;
110
+ }
111
+ export interface SlopLintResult {
112
+ readonly paragraphCount: number;
113
+ readonly findings: readonly SlopFinding[];
114
+ readonly diagnostics: readonly SlopDiagnostic[];
115
+ }
116
+ export declare const DEFAULT_SLOP_CONFIG: Readonly<SlopLintConfig>;
117
+ export declare const BUNDLED_SLOP_REGISTRY_URL: import("node:url").URL;
118
+ export declare function validateSlopLintConfig(value: unknown): ValidationResult<SlopLintConfig>;
119
+ export declare function parseSlopRegistry(value: unknown): ValidationResult<SlopRegistry>;
120
+ /**
121
+ * Pure deterministic style analysis. The caller supplies already-loaded policy data; this function
122
+ * performs no file, network, database, clock, locale, or process I/O and never throws.
123
+ */
124
+ export declare function slopLint(text: string, input: {
125
+ readonly config: SlopLintConfig;
126
+ readonly registry: SlopRegistry;
127
+ }): SlopLintResult;
128
+ //# sourceMappingURL=slop-lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slop-lint.d.ts","sourceRoot":"","sources":["../src/slop-lint.ts"],"names":[],"mappings":"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"}