clud-bug 0.7.0-rc.21 → 0.7.0-rc.23

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 (78) hide show
  1. package/data/canonical-v1.json +39 -34
  2. package/data/rulesets/baseline.json +29 -0
  3. package/data/rulesets/clud-bug.json +39 -0
  4. package/data/rulesets/public-guard.json +29 -0
  5. package/data/rulesets/skdd.json +42 -0
  6. package/dist/cli/configure-github.d.ts +13 -4
  7. package/dist/cli/configure-github.d.ts.map +1 -1
  8. package/dist/cli/configure-github.js +73 -27
  9. package/dist/cli/configure-github.js.map +1 -1
  10. package/dist/cli/hooks.d.ts.map +1 -1
  11. package/dist/cli/hooks.js +5 -1
  12. package/dist/cli/hooks.js.map +1 -1
  13. package/dist/cli/main.d.ts.map +1 -1
  14. package/dist/cli/main.js +33 -10
  15. package/dist/cli/main.js.map +1 -1
  16. package/dist/cli/post-check-run.d.ts +2 -0
  17. package/dist/cli/post-check-run.d.ts.map +1 -1
  18. package/dist/cli/post-check-run.js +124 -5
  19. package/dist/cli/post-check-run.js.map +1 -1
  20. package/dist/cli/review-prompt.d.ts +11 -1
  21. package/dist/cli/review-prompt.d.ts.map +1 -1
  22. package/dist/cli/review-prompt.js +141 -37
  23. package/dist/cli/review-prompt.js.map +1 -1
  24. package/dist/core/check-verdict.d.ts +1 -1
  25. package/dist/core/check-verdict.d.ts.map +1 -1
  26. package/dist/core/check-verdict.js +14 -1
  27. package/dist/core/check-verdict.js.map +1 -1
  28. package/dist/core/configure-github.d.ts +184 -119
  29. package/dist/core/configure-github.d.ts.map +1 -1
  30. package/dist/core/configure-github.js +407 -209
  31. package/dist/core/configure-github.js.map +1 -1
  32. package/dist/core/index.d.ts +4 -1
  33. package/dist/core/index.d.ts.map +1 -1
  34. package/dist/core/index.js +12 -1
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/invariants.d.ts +46 -0
  37. package/dist/core/invariants.d.ts.map +1 -0
  38. package/dist/core/invariants.js +96 -0
  39. package/dist/core/invariants.js.map +1 -0
  40. package/dist/core/notary-bundle.d.ts +95 -0
  41. package/dist/core/notary-bundle.d.ts.map +1 -0
  42. package/dist/core/notary-bundle.js +129 -0
  43. package/dist/core/notary-bundle.js.map +1 -0
  44. package/dist/core/notary-validate.d.ts +86 -0
  45. package/dist/core/notary-validate.d.ts.map +1 -0
  46. package/dist/core/notary-validate.js +270 -0
  47. package/dist/core/notary-validate.js.map +1 -0
  48. package/dist/core/prompt-builder.js +2 -2
  49. package/dist/core/review-schema-zod.d.ts +48 -0
  50. package/dist/core/review-schema-zod.d.ts.map +1 -1
  51. package/dist/core/review-schema-zod.js +5 -0
  52. package/dist/core/review-schema-zod.js.map +1 -1
  53. package/dist/core/review-schema.d.ts +3 -0
  54. package/dist/core/review-schema.d.ts.map +1 -1
  55. package/dist/core/review-schema.js +9 -0
  56. package/dist/core/review-schema.js.map +1 -1
  57. package/dist/core/version.d.ts +1 -1
  58. package/dist/core/version.js +1 -1
  59. package/package.json +1 -1
  60. package/src/cli/configure-github.ts +108 -31
  61. package/src/cli/hooks.ts +5 -1
  62. package/src/cli/main.ts +32 -10
  63. package/src/cli/post-check-run.ts +149 -5
  64. package/src/cli/review-prompt.ts +162 -36
  65. package/src/core/check-verdict.ts +14 -2
  66. package/src/core/configure-github.ts +591 -349
  67. package/src/core/index.ts +46 -0
  68. package/src/core/invariants.ts +123 -0
  69. package/src/core/notary-bundle.ts +196 -0
  70. package/src/core/notary-validate.ts +343 -0
  71. package/src/core/prompt-builder.ts +2 -2
  72. package/src/core/review-schema-zod.ts +5 -0
  73. package/src/core/review-schema.ts +12 -0
  74. package/src/core/version.ts +1 -1
  75. package/templates/skills/design/designing-elite-ui.md +57 -0
  76. package/templates/workflow-py.yml.tmpl +1 -1
  77. package/templates/workflow-ts.yml.tmpl +1 -1
  78. package/templates/workflow.yml.tmpl +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"configure-github.js","sourceRoot":"","sources":["../../src/core/configure-github.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure-github.js","sourceRoot":"","sources":["../../src/core/configure-github.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,16 @@ export { parsePriorReviewFile, diffFindings, findingIdentity, type ParsedFinding
12
12
  export { findingId, parseHeadLines, findingAnchorable, extractAnchorContext, renderThreadBody, extractFindingIdFromBody, parseThreadBody, planInlineThreads, REVIEW_THREADS_QUERY, REVIEW_THREADS_STATE_QUERY, RESOLVE_THREAD_MUTATION, ADD_REPLY_MUTATION, type Severity as InlineThreadSeverity, type FindingForThread, type DiffFile, type InlineCommentPlan, type PlanInlineThreadsResult, } from './inline-threads.js';
13
13
  export { resolveAutoResolveConfig, readAutoResolveConfigFromCludBug, runAutoResolve, applyResolutionRules, renderAutoResolveMarker, DEFAULT_AUTO_RESOLVE_CONFIG, type AutoResolveConfig, type PriorThread, type PriorFinding, type ThreadAction, type AutoResolveInput, type AutoResolveResult, type VerifyOutcome, } from './auto-resolve.js';
14
14
  export { VERIFIER_SYSTEM, buildVerifierSystem, buildVerifierPrompt, parseVerifierResponse, type VerifierOutputMode, type VerifySingleFindingInput, } from './resolve-verifier.js';
15
- export { applyCanonicalRuleset, loadCanonicalV1, type CanonicalRuleset, type OctokitLike, type ApplyCanonicalRulesetParams, type ApplyResult, } from './configure-github.js';
15
+ export { applyCanonicalRuleset, loadCanonicalV1, loadPreset, isPresetName, PRESET_NAMES, DEFAULT_PRESET, CANONICAL_REPO_CONVENIENCES, type CanonicalRuleset, type PresetName, type RepoConveniences, type OctokitLike, type ApplyCanonicalRulesetParams, type ApplyResult, } from './configure-github.js';
16
16
  export { readReviewPassesConfig, extractSkillReviewPassesOverride, resolveReviewPasses, roleForPass, anyMultiPass, totalPassCount, REVIEW_PASS_MODES, MAX_PASSES, MIN_PASSES, BUILTIN_DEFAULT, BUILTIN_ROLES, type ApplyTo, type ReviewPassesEntry, type ReviewRoleTier, type ReviewRole, type ResolvedReviewPasses, type ReviewPassesConfig, type SkillReviewPassesFrontmatter, type ReviewPlanSkill, type ResolveReviewPassesInput, type ResolveReviewPassesResult, } from './review-plan.js';
17
17
  export { perCallCeiling, estimateBudget, estimateVerifierBudget, __setModelCeilingForTests, DEFAULT_PER_PR_CAP_USD, DEFAULT_VERIFIER_PER_PR_CAP_USD, type BudgetEstimateInput, type BudgetEstimate, type BudgetVerdict, type VerifierBudgetInput, type VerifierBudgetEstimate, type VerifierBudgetVerdict, } from './budget-plan.js';
18
18
  export { planReview, LARGE_DIFF_THRESHOLD_BYTES, type PlanReviewInput, type ReviewPlan, type ReviewTrigger, type TierDownReason, } from './plan-review.js';
19
19
  export { aggregatePasses, deriveConsensus, resolveVerdict, shouldEscalate, type CrossCheckVerdict, type CrossCheckPassResult, type AggregateInput, type EscalationInput, } from './multi-pass-aggregate.js';
20
20
  export { readDesignConfig, shouldRunDesign, BUILTIN_DESIGN_CONFIG, type DesignConfig, type DesignGate, } from './design.js';
21
+ export { readInvariantsConfig, shouldRunProbes, BUILTIN_INVARIANTS_CONFIG, type Invariant, type InvariantsConfig, } from './invariants.js';
21
22
  export { readReviewContext, extractPrContext, fenceUntrustedContext, EMPTY_REVIEW_CONTEXT, MAX_REVIEW_CONTEXT_BYTES, type ReviewContextConfig, } from './review-context.js';
22
23
  export { deriveCheck, normalizeVerdict, CLUD_BUG_CHECK_NAME, type ReviewVerdict, type CheckConclusion, type CheckSource, type DerivedCheck, type DeriveCheckInput, } from './check-verdict.js';
24
+ export { buildBundle, parseBundle, notaryResponseIsRejection, NOTARY_BUNDLE_VERSION, NOTARY_PROTOCOL_VERSION, type NotaryBundle, type NotaryFinding, type NotarySeverity, type GroundingKind, } from './notary-bundle.js';
25
+ export { validateBundle, validateCoverage, validateGrounding, validateConsistency, spanAppearsInDiff, splitUnifiedDiff, type BundleValidation, type CoverageResult, type GroundingResult, type GroundingViolation, type ConsistencyResult, } from './notary-validate.js';
23
26
  export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, appliesToAuthor, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, type SkillDescriptor, type RankableSkill, type AppliesToRule, type SkillWithOptionalContent, type PrComment, type ReviewStatsHeader, type SkillFrontmatter, type SkillSource, type SkillReviewMode, type SkillKind, type VoiceScope, } from './skills.js';
24
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,sBAAsB,GAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAUpB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,OAAO,IAAI,UAAU,GAC3B,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACvB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,IAAI,0BAA0B,EAC5C,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EACL,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,QAAQ,IAAI,oBAAoB,EACrC,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,GAC9B,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,2BAA2B,EAChC,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAC;AAW/B,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,EAC/B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC"}
@@ -61,7 +61,7 @@ export { VERIFIER_SYSTEM, buildVerifierSystem, buildVerifierPrompt, parseVerifie
61
61
  // CLI side wraps `gh api` in an Octokit-like adapter and the App passes
62
62
  // its real Octokit instance. Shipped in v0.7.0-rc.4 for Marketplace prep
63
63
  // (Phase 6 task #227).
64
- export { applyCanonicalRuleset, loadCanonicalV1, } from './configure-github.js';
64
+ export { applyCanonicalRuleset, loadCanonicalV1, loadPreset, isPresetName, PRESET_NAMES, DEFAULT_PRESET, CANONICAL_REPO_CONVENIENCES, } from './configure-github.js';
65
65
  // Wave 6b — review-planning "brain" ported from clud-bug-app/lib. Three pure
66
66
  // modules: the multi-pass config resolver (`review-plan`), the Layer-1 cost
67
67
  // gate (`budget-plan`), and the multi-pass aggregator (`multi-pass-aggregate`).
@@ -77,7 +77,18 @@ export { perCallCeiling, estimateBudget, estimateVerifierBudget, __setModelCeili
77
77
  export { planReview, LARGE_DIFF_THRESHOLD_BYTES, } from './plan-review.js';
78
78
  export { aggregatePasses, deriveConsensus, resolveVerdict, shouldEscalate, } from './multi-pass-aggregate.js';
79
79
  export { readDesignConfig, shouldRunDesign, BUILTIN_DESIGN_CONFIG, } from './design.js';
80
+ // Phase R (clud-bug-app #87) — executable-probe invariants: config + in-scope gate.
81
+ // A probe is a repo-declared command that goes RED when a behavioral property is
82
+ // violated; RED output grounds a finding equal to a quoted diff line, catching the
83
+ // emergent / combinatorial / cross-cutting bugs the "quote-the-line" gate misses.
84
+ export { readInvariantsConfig, shouldRunProbes, BUILTIN_INVARIANTS_CONFIG, } from './invariants.js';
80
85
  export { readReviewContext, extractPrContext, fenceUntrustedContext, EMPTY_REVIEW_CONTEXT, MAX_REVIEW_CONTEXT_BYTES, } from './review-context.js';
81
86
  export { deriveCheck, normalizeVerdict, CLUD_BUG_CHECK_NAME, } from './check-verdict.js';
87
+ // Phase Z3 — the NOTARY. `notary-bundle` owns the attestation-bundle shape (the
88
+ // contract Z4's `/notarize` consumes) + a tolerant parser; `notary-validate` owns
89
+ // the pure deterministic ③④⑤ checks (coverage / grounding / consistency) both the
90
+ // local CLI and the server re-run. SPEC §10.3.3.
91
+ export { buildBundle, parseBundle, notaryResponseIsRejection, NOTARY_BUNDLE_VERSION, NOTARY_PROTOCOL_VERSION, } from './notary-bundle.js';
92
+ export { validateBundle, validateCoverage, validateGrounding, validateConsistency, spanAppearsInDiff, splitUnifiedDiff, } from './notary-validate.js';
82
93
  export { API_BASE, MAX_SKILLS, SkillsClient, normalizeList, rankAndCap, readReviewMode, readAppliesTo, appliesToPr, appliesToAuthor, partitionByReviewMode, extractPerSkillLine, selectReviewHeader, extractFirstReviewHeaderLine, selectReviewBody, extractStatsHeader, isCriticalReviewHeader, classifyPerSkillOutcome, parseFrontmatter, stripFrontmatter, } from './skills.js';
83
94
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,gDAAgD;AAChD,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,iBAAiB;AAEjB,OAAO,EAAE,YAAY,EAAuD,MAAM,cAAc,CAAC;AACjG,OAAO,EACL,aAAa,EACb,sBAAsB,GAQvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,MAAM,EACN,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,GAGf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,MAAM,EACN,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAIT,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAElB,MAAM,YAAY,CAAC;AACpB,+DAA+D;AAC/D,kEAAkE;AAClE,oEAAoE;AACpE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,oEAAoE;AACpE,oEAAoE;AACpE,yBAAyB;AACzB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GAWxB,MAAM,wBAAwB,CAAC;AAChC,+DAA+D;AAC/D,gEAAgE;AAChE,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,uBAAuB,GAUxB,MAAM,qBAAqB,CAAC;AAC7B,oEAAoE;AACpE,sEAAsE;AACtE,kEAAkE;AAClE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,cAAc,IAAI,0BAA0B,GAY7C,MAAM,uBAAuB,CAAC;AAC/B,oEAAoE;AACpE,qEAAqE;AACrE,4DAA4D;AAC5D,iEAAiE;AACjE,mEAAmE;AACnE,qEAAqE;AACrE,oBAAoB;AACpB,OAAO,EACL,iBAAiB,GAIlB,MAAM,oBAAoB,CAAC;AAC5B,0EAA0E;AAC1E,yEAAyE;AACzE,mEAAmE;AACnE,uEAAuE;AACvE,2CAA2C;AAC3C,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,kEAAkE;AAClE,yEAAyE;AACzE,uEAAuE;AACvE,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,8BAA8B;AAC9B,OAAO,EACL,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,kBAAkB,GAMnB,MAAM,qBAAqB,CAAC;AAC7B,sEAAsE;AACtE,sEAAsE;AACtE,mEAAmE;AACnE,8CAA8C;AAC9C,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,GAQ5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GAGtB,MAAM,uBAAuB,CAAC;AAC/B,yEAAyE;AACzE,wEAAwE;AACxE,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,2BAA2B,GAO5B,MAAM,uBAAuB,CAAC;AAC/B,6EAA6E;AAC7E,4EAA4E;AAC5E,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,6EAA6E;AAC7E,qEAAqE;AACrE,kEAAkE;AAClE,4EAA4E;AAC5E,0DAA0D;AAC1D,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAChC,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,GAWd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,+BAA+B,GAOhC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,UAAU,EACV,0BAA0B,GAK3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,GAKf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,qBAAqB,GAGtB,MAAM,aAAa,CAAC;AACrB,oFAAoF;AACpF,iFAAiF;AACjF,mFAAmF;AACnF,kFAAkF;AAClF,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,yBAAyB,GAG1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GAMpB,MAAM,oBAAoB,CAAC;AAC5B,gFAAgF;AAChF,kFAAkF;AAClF,kFAAkF;AAClF,iDAAiD;AACjD,OAAO,EACL,WAAW,EACX,WAAW,EACX,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GAMjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,GAYjB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { ReviewTrigger } from './plan-review.js';
2
+ /** A repo-declared behavioral property with an executable probe. */
3
+ export interface Invariant {
4
+ /** Human name, shown in the probe-results block + any resulting finding. */
5
+ name: string;
6
+ /** Glob(s) over changed paths; the probe is in scope only when the diff hits one. */
7
+ appliesTo: string[];
8
+ /** Shell command; a non-zero exit is RED (the property is violated). */
9
+ probe: string;
10
+ /** Optional expected-output / golden reference, surfaced in the prompt + transcript. */
11
+ expect?: string;
12
+ }
13
+ /** Resolved `.clud-bug.json` `invariants` config (defaults applied). */
14
+ export interface InvariantsConfig {
15
+ /** Master switch. Default OFF — probes never run unless this is true. */
16
+ enabled: boolean;
17
+ /** The validated invariant set (malformed entries dropped). */
18
+ invariants: Invariant[];
19
+ }
20
+ /** Off-by-default builtin — the cost-control floor (probes build+run, so they cost). */
21
+ export declare const BUILTIN_INVARIANTS_CONFIG: InvariantsConfig;
22
+ /**
23
+ * Read + normalize the `invariants` config from a parsed `.clud-bug.json` manifest.
24
+ *
25
+ * Accepts two authoring forms (tolerant, mirroring `readReviewPassesConfig`):
26
+ * - a bare array: `"invariants": [ { name, appliesTo, probe, expect? }, … ]`
27
+ * - a wrapper object: `"invariants": { "enabled": false, "list": [ … ] }` (a
28
+ * kill-switch that retains the config while turning probes off)
29
+ *
30
+ * A missing/malformed block, or one with zero *valid* invariants, resolves to the
31
+ * off-by-default builtin — a typo can never silently enable the cost-bearing probe
32
+ * run. Declaring at least one valid invariant is the explicit opt-in.
33
+ */
34
+ export declare function readInvariantsConfig(manifest: unknown): InvariantsConfig;
35
+ /**
36
+ * Consumer-agnostic in-scope gate for the probe run. Pure.
37
+ *
38
+ * True only when the repo opted in (`enabled`), at least one invariant's
39
+ * `appliesTo` matched the changed paths (`applicableCount`, computed by the caller
40
+ * with the existing glob matcher), and this is a PR-level review — build+run is
41
+ * too expensive for the per-commit / per-push triggers. Consumers layer their own
42
+ * runtime preconditions on top (local: a shell + toolchain present; hosted:
43
+ * static-degrade; Action: a dedicated CI job).
44
+ */
45
+ export declare function shouldRunProbes(config: InvariantsConfig, applicableCount: number, trigger: ReviewTrigger): boolean;
46
+ //# sourceMappingURL=invariants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.d.ts","sourceRoot":"","sources":["../../src/core/invariants.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,wFAAwF;AACxF,eAAO,MAAM,yBAAyB,EAAE,gBAGvC,CAAC;AAyBF;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,gBAAgB,CAuBxE;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,aAAa,GACrB,OAAO,CAET"}
@@ -0,0 +1,96 @@
1
+ // Executable-probe invariants: config + run-gate (Phase R / clud-bug-app #87).
2
+ //
3
+ // An INVARIANT is a repo-declared behavioral property paired with an executable
4
+ // PROBE: a shell command that exits non-zero (RED) when the property is violated.
5
+ // Unlike a prose `reviewContext` instruction — which is checked *statically*
6
+ // against the diff and so can never fire on a bug that lives in no single changed
7
+ // line — a probe is *run*, so it can ground the emergent / combinatorial /
8
+ // cross-cutting bugs the "quote-the-line" gate structurally misses. A finding
9
+ // fires only when a probe runs RED; RED output is trusted machine evidence, equal
10
+ // in standing to a quoted diff line.
11
+ //
12
+ // This module is the shared, pure brain (like `design.ts`): every surface resolves
13
+ // config + the in-scope gate here so policy can't fork. Whether a probe can
14
+ // actually be *executed* differs per surface (local/max: full shell; hosted
15
+ // serverless: static-degrade, no checkout; Action: a separate CI job outside the
16
+ // allowlist-sandboxed reviewer) — that is a consumer concern. This module only
17
+ // decides *whether* probes are in scope for a given diff + trigger.
18
+ /** Off-by-default builtin — the cost-control floor (probes build+run, so they cost). */
19
+ export const BUILTIN_INVARIANTS_CONFIG = {
20
+ enabled: false,
21
+ invariants: [],
22
+ };
23
+ /** Parse + validate one raw invariant entry. Tolerant; returns null if unusable. */
24
+ function parseInvariant(raw) {
25
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
26
+ return null;
27
+ const o = raw;
28
+ const name = typeof o['name'] === 'string' && o['name'].trim() ? o['name'] : null;
29
+ const probe = typeof o['probe'] === 'string' && o['probe'].trim() ? o['probe'] : null;
30
+ if (!name || !probe)
31
+ return null;
32
+ // appliesTo: accept a single glob string or an array of them; drop empties.
33
+ let appliesTo = [];
34
+ if (typeof o['appliesTo'] === 'string' && o['appliesTo'].trim()) {
35
+ appliesTo = [o['appliesTo']];
36
+ }
37
+ else if (Array.isArray(o['appliesTo'])) {
38
+ appliesTo = o['appliesTo'].filter((g) => typeof g === 'string' && g.trim().length > 0);
39
+ }
40
+ if (appliesTo.length === 0)
41
+ return null; // no globs → cannot cost-gate → unusable
42
+ const invariant = { name, appliesTo, probe };
43
+ if (typeof o['expect'] === 'string')
44
+ invariant.expect = o['expect'];
45
+ return invariant;
46
+ }
47
+ /**
48
+ * Read + normalize the `invariants` config from a parsed `.clud-bug.json` manifest.
49
+ *
50
+ * Accepts two authoring forms (tolerant, mirroring `readReviewPassesConfig`):
51
+ * - a bare array: `"invariants": [ { name, appliesTo, probe, expect? }, … ]`
52
+ * - a wrapper object: `"invariants": { "enabled": false, "list": [ … ] }` (a
53
+ * kill-switch that retains the config while turning probes off)
54
+ *
55
+ * A missing/malformed block, or one with zero *valid* invariants, resolves to the
56
+ * off-by-default builtin — a typo can never silently enable the cost-bearing probe
57
+ * run. Declaring at least one valid invariant is the explicit opt-in.
58
+ */
59
+ export function readInvariantsConfig(manifest) {
60
+ const raw = manifest?.invariants;
61
+ let list;
62
+ let enabledOverride;
63
+ if (Array.isArray(raw)) {
64
+ list = raw;
65
+ }
66
+ else if (raw && typeof raw === 'object') {
67
+ const o = raw;
68
+ list = o['list'] ?? o['invariants'];
69
+ if (typeof o['enabled'] === 'boolean')
70
+ enabledOverride = o['enabled'];
71
+ }
72
+ else {
73
+ return { enabled: false, invariants: [] };
74
+ }
75
+ const invariants = Array.isArray(list)
76
+ ? list.map(parseInvariant).filter((i) => i !== null)
77
+ : [];
78
+ // Default ON when invariants are present; an explicit `enabled: false` disables
79
+ // while retaining them (kill-switch). Never enabled with zero valid invariants.
80
+ const enabled = (enabledOverride ?? true) && invariants.length > 0;
81
+ return { enabled, invariants };
82
+ }
83
+ /**
84
+ * Consumer-agnostic in-scope gate for the probe run. Pure.
85
+ *
86
+ * True only when the repo opted in (`enabled`), at least one invariant's
87
+ * `appliesTo` matched the changed paths (`applicableCount`, computed by the caller
88
+ * with the existing glob matcher), and this is a PR-level review — build+run is
89
+ * too expensive for the per-commit / per-push triggers. Consumers layer their own
90
+ * runtime preconditions on top (local: a shell + toolchain present; hosted:
91
+ * static-degrade; Action: a dedicated CI job).
92
+ */
93
+ export function shouldRunProbes(config, applicableCount, trigger) {
94
+ return config.enabled && applicableCount > 0 && trigger === 'pr';
95
+ }
96
+ //# sourceMappingURL=invariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/core/invariants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ import type { ReviewVerdict } from './check-verdict.js';
2
+ /** Bundle wire-format version. Bump on a breaking shape change. */
3
+ export declare const NOTARY_BUNDLE_VERSION = 1;
4
+ /**
5
+ * The protocol contract the bundle attests to — tracks SPEC §10.3.3
6
+ * ("Attestation integrity"). Bump in lockstep with a §10.3.3 contract change
7
+ * (coordinate the SPEC edit with logmind — the SPEC is the shared SkDD contract).
8
+ */
9
+ export declare const NOTARY_PROTOCOL_VERSION = "1.2.0";
10
+ export type NotarySeverity = 'critical' | 'minor' | 'preexisting';
11
+ /**
12
+ * How a finding is grounded (mirrors the Phase R grounding forms: quote /
13
+ * reproduction / invariant). The notary deterministically verifies `quote`
14
+ * (the span must appear in the ground-truth diff); `reproduction`/`invariant`
15
+ * carry no diff-checkable artifact and are deferred to the clean-case audit.
16
+ */
17
+ export type GroundingKind = 'quote' | 'reproduction' | 'invariant';
18
+ /** A single finding as carried in the attestation bundle. */
19
+ export interface NotaryFinding {
20
+ severity: NotarySeverity;
21
+ /** File path (repo-root-relative). Absent for a genuinely cross-cutting finding. */
22
+ file?: string;
23
+ /** 1-indexed line in `file`. */
24
+ line?: number;
25
+ summary: string;
26
+ /**
27
+ * Evidence anchoring the finding. REQUIRED for `critical` (the notary rejects
28
+ * a bare critical): a verbatim span from a changed line (`quote`), a
29
+ * reproduction's command+output (`reproduction`), or the violated-invariant
30
+ * statement (`invariant`).
31
+ */
32
+ grounding?: string;
33
+ /** Which grounding form `grounding` uses (defaults to `quote` when absent). */
34
+ grounding_kind?: GroundingKind;
35
+ }
36
+ /**
37
+ * The attestation bundle — assembled locally from a completed review, submitted
38
+ * to the notary. Z4's `/notarize` consumes exactly this shape, re-validates ①–⑤
39
+ * against GitHub, then posts the pinned check.
40
+ */
41
+ export interface NotaryBundle {
42
+ bundle_version: number;
43
+ /** `owner/repo`. */
44
+ repo: string;
45
+ /** PR number. Absent for a commit-trigger local pre-notarization (no PR yet). */
46
+ pr?: number;
47
+ head_sha: string;
48
+ verdict: ReviewVerdict;
49
+ findings: NotaryFinding[];
50
+ /**
51
+ * The changed-file paths the review covered. The notary set-diffs this against
52
+ * GitHub's ground-truth changed files (③ coverage) so a partial / stale-checkout
53
+ * review can't be certified as complete.
54
+ */
55
+ coverage: string[];
56
+ /** The review recipe / CLI version that produced this bundle (provenance). */
57
+ recipe_version: string;
58
+ /** The SPEC §10.3.3 contract version this bundle conforms to. */
59
+ protocol_version: string;
60
+ /**
61
+ * Single-use nonce bound to (repo, PR, head_sha), minted by the server
62
+ * (`POST /challenge`, Z4). Absent on a locally pre-built bundle; the server
63
+ * requires it before certifying (① replay-closure).
64
+ */
65
+ nonce?: string;
66
+ }
67
+ /** Assemble a bundle from a completed review, stamping the wire + protocol versions. */
68
+ export declare function buildBundle(input: {
69
+ repo: string;
70
+ pr?: number;
71
+ headSha: string;
72
+ verdict: ReviewVerdict;
73
+ findings: NotaryFinding[];
74
+ coverage: string[];
75
+ recipeVersion: string;
76
+ nonce?: string;
77
+ }): NotaryBundle;
78
+ /**
79
+ * Classify a notary `/notarize` HTTP response for the submit path. A definitive
80
+ * client error (4xx) is the server AUTHORITATIVELY refusing to certify this
81
+ * bundle → terminal (post NO check). A 5xx or a network error is the endpoint
82
+ * being DOWN, not a verdict → the caller may fall back to the self-attested
83
+ * check. Conflating the two would let a server "no" be overridden by a local green.
84
+ */
85
+ export declare function notaryResponseIsRejection(status: number): boolean;
86
+ /**
87
+ * Tolerant parser for a bundle read from disk / the wire. Returns null on a
88
+ * missing or malformed required field (never throws) — the CLI treats a null as
89
+ * "no submittable bundle" and falls back to the self-attested path. A malformed
90
+ * finding is DROPPED, not tolerated silently into a green: if any finding is
91
+ * unparseable the whole bundle is rejected (null), so a truncated payload can't
92
+ * be certified as if it were complete.
93
+ */
94
+ export declare function parseBundle(raw: unknown): NotaryBundle | null;
95
+ //# sourceMappingURL=notary-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notary-bundle.d.ts","sourceRoot":"","sources":["../../src/core/notary-bundle.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,cAAc,GAAG,WAAW,CAAC;AAEnE,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wFAAwF;AACxF,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,YAAY,CAaf;AAMD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEjE;AAsBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CAoC7D"}
@@ -0,0 +1,129 @@
1
+ // Phase Z3 — the notary ATTESTATION BUNDLE.
2
+ //
3
+ // clud-bug is a NOTARY: it VALIDATES + CERTIFIES that a review actually ran
4
+ // before a green `clud-bug-review` check gates a merge (protocol SPEC §10.3.3).
5
+ // The bundle is the wire artifact the local CLI assembles from a completed
6
+ // review and submits to the notary (`POST /notarize`, built in Z4). The server
7
+ // re-validates it against GitHub's ground-truth diff, then — as the SOLE issuer
8
+ // — posts the pinned check. This module owns the bundle SHAPE (the contract Z4
9
+ // consumes) + a tolerant parser; the pure ①–⑤ checks live in `./notary-validate`.
10
+ //
11
+ // Design note (grounding): `grounding` is REQUIRED-for-critical HERE (enforced
12
+ // by `validateGrounding`), not in the shared review-output schema
13
+ // (`./review-schema`). A schema-`required` field can be satisfied with junk; the
14
+ // load-bearing guarantee is the notary re-checking the quoted span against the
15
+ // diff. Keeping the review-output field optional avoids a discriminated-union
16
+ // ripple through the App's finding aggregator and any coupling to the live
17
+ // hosted Zod pipeline. See docs/decisions-branches/feat-notary-z3.md.
18
+ /** Bundle wire-format version. Bump on a breaking shape change. */
19
+ export const NOTARY_BUNDLE_VERSION = 1;
20
+ /**
21
+ * The protocol contract the bundle attests to — tracks SPEC §10.3.3
22
+ * ("Attestation integrity"). Bump in lockstep with a §10.3.3 contract change
23
+ * (coordinate the SPEC edit with logmind — the SPEC is the shared SkDD contract).
24
+ */
25
+ export const NOTARY_PROTOCOL_VERSION = '1.2.0';
26
+ /** Assemble a bundle from a completed review, stamping the wire + protocol versions. */
27
+ export function buildBundle(input) {
28
+ return {
29
+ bundle_version: NOTARY_BUNDLE_VERSION,
30
+ repo: input.repo,
31
+ ...(input.pr !== undefined ? { pr: input.pr } : {}),
32
+ head_sha: input.headSha,
33
+ verdict: input.verdict,
34
+ findings: input.findings,
35
+ coverage: input.coverage,
36
+ recipe_version: input.recipeVersion,
37
+ protocol_version: NOTARY_PROTOCOL_VERSION,
38
+ ...(input.nonce !== undefined ? { nonce: input.nonce } : {}),
39
+ };
40
+ }
41
+ const SEVERITIES = new Set(['critical', 'minor', 'preexisting']);
42
+ const GROUNDING_KINDS = new Set(['quote', 'reproduction', 'invariant']);
43
+ const VERDICTS = new Set(['clean', 'critical', 'failed', 'unverified']);
44
+ /**
45
+ * Classify a notary `/notarize` HTTP response for the submit path. A definitive
46
+ * client error (4xx) is the server AUTHORITATIVELY refusing to certify this
47
+ * bundle → terminal (post NO check). A 5xx or a network error is the endpoint
48
+ * being DOWN, not a verdict → the caller may fall back to the self-attested
49
+ * check. Conflating the two would let a server "no" be overridden by a local green.
50
+ */
51
+ export function notaryResponseIsRejection(status) {
52
+ return status >= 400 && status < 500;
53
+ }
54
+ function parseFinding(raw) {
55
+ if (!raw || typeof raw !== 'object')
56
+ return null;
57
+ const r = raw;
58
+ if (typeof r['severity'] !== 'string' || !SEVERITIES.has(r['severity']))
59
+ return null;
60
+ if (typeof r['summary'] !== 'string' || !r['summary'])
61
+ return null;
62
+ const finding = {
63
+ severity: r['severity'],
64
+ summary: r['summary'],
65
+ };
66
+ if (typeof r['file'] === 'string' && r['file'])
67
+ finding.file = r['file'];
68
+ if (typeof r['line'] === 'number' && Number.isInteger(r['line']) && r['line'] >= 1) {
69
+ finding.line = r['line'];
70
+ }
71
+ if (typeof r['grounding'] === 'string' && r['grounding'])
72
+ finding.grounding = r['grounding'];
73
+ if (typeof r['grounding_kind'] === 'string' && GROUNDING_KINDS.has(r['grounding_kind'])) {
74
+ finding.grounding_kind = r['grounding_kind'];
75
+ }
76
+ return finding;
77
+ }
78
+ /**
79
+ * Tolerant parser for a bundle read from disk / the wire. Returns null on a
80
+ * missing or malformed required field (never throws) — the CLI treats a null as
81
+ * "no submittable bundle" and falls back to the self-attested path. A malformed
82
+ * finding is DROPPED, not tolerated silently into a green: if any finding is
83
+ * unparseable the whole bundle is rejected (null), so a truncated payload can't
84
+ * be certified as if it were complete.
85
+ */
86
+ export function parseBundle(raw) {
87
+ if (!raw || typeof raw !== 'object')
88
+ return null;
89
+ const r = raw;
90
+ if (typeof r['repo'] !== 'string' || !r['repo'].includes('/'))
91
+ return null;
92
+ if (typeof r['head_sha'] !== 'string' || !r['head_sha'])
93
+ return null;
94
+ // `verdict` is enum-typed — whitelist it like every other enum field, so a
95
+ // garbage verdict is a malformed bundle (null), never blind-cast through the
96
+ // trust boundary into validateConsistency / a derived check.
97
+ if (typeof r['verdict'] !== 'string' || !VERDICTS.has(r['verdict']))
98
+ return null;
99
+ if (!Array.isArray(r['findings']))
100
+ return null;
101
+ if (!Array.isArray(r['coverage']))
102
+ return null;
103
+ const findings = [];
104
+ for (const f of r['findings']) {
105
+ const parsed = parseFinding(f);
106
+ if (!parsed)
107
+ return null; // reject the whole bundle rather than silently drop a finding
108
+ findings.push(parsed);
109
+ }
110
+ const coverage = r['coverage'].filter((c) => typeof c === 'string');
111
+ if (coverage.length !== r['coverage'].length)
112
+ return null;
113
+ const bundle = {
114
+ bundle_version: typeof r['bundle_version'] === 'number' ? r['bundle_version'] : NOTARY_BUNDLE_VERSION,
115
+ repo: r['repo'],
116
+ head_sha: r['head_sha'],
117
+ verdict: r['verdict'],
118
+ findings,
119
+ coverage,
120
+ recipe_version: typeof r['recipe_version'] === 'string' ? r['recipe_version'] : '',
121
+ protocol_version: typeof r['protocol_version'] === 'string' ? r['protocol_version'] : NOTARY_PROTOCOL_VERSION,
122
+ };
123
+ if (typeof r['pr'] === 'number' && Number.isInteger(r['pr']))
124
+ bundle.pr = r['pr'];
125
+ if (typeof r['nonce'] === 'string' && r['nonce'])
126
+ bundle.nonce = r['nonce'];
127
+ return bundle;
128
+ }
129
+ //# sourceMappingURL=notary-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notary-bundle.js","sourceRoot":"","sources":["../../src/core/notary-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ import { parseHeadLines, type DiffFile } from './inline-threads.js';
2
+ import type { ReviewVerdict } from './check-verdict.js';
3
+ import type { NotaryBundle, NotaryFinding } from './notary-bundle.js';
4
+ export interface ConsistencyResult {
5
+ ok: boolean;
6
+ reason?: string;
7
+ }
8
+ /**
9
+ * A `clean` verdict with a critical finding, or a `critical` verdict with none,
10
+ * is internally contradictory — the review can't be trusted, so it can't gate.
11
+ * `unverified` and `failed` are self-consistent regardless of the finding set
12
+ * (they never claim "clean"), so they always pass ⑤.
13
+ */
14
+ export declare function validateConsistency(verdict: ReviewVerdict, findings: readonly NotaryFinding[]): ConsistencyResult;
15
+ export interface CoverageResult {
16
+ ok: boolean;
17
+ /** Changed files present in the ground-truth diff but absent from the coverage claim. */
18
+ missingFiles: string[];
19
+ }
20
+ /**
21
+ * The review's coverage claim MUST include every file the ground-truth diff
22
+ * changed. A missing file = a silently-skipped surface → the review can't be
23
+ * certified as complete. Extra claimed files (not in the diff) are harmless and
24
+ * ignored. Empty diff → trivially covered.
25
+ */
26
+ export declare function validateCoverage(coverage: readonly string[], diffFiles: readonly DiffFile[]): CoverageResult;
27
+ export interface GroundingViolation {
28
+ index: number;
29
+ file?: string | undefined;
30
+ line?: number | undefined;
31
+ reason: string;
32
+ }
33
+ export interface GroundingResult {
34
+ ok: boolean;
35
+ /** Hard failures: a critical with no evidence, or a `quote` span not in the diff. */
36
+ violations: GroundingViolation[];
37
+ /**
38
+ * Criticals whose grounding the deterministic notary CANNOT confirm
39
+ * (`reproduction`/`invariant` form — no diff-checkable artifact). Not a
40
+ * failure: accepting a critical blocks the merge, the safe direction. Surfaced
41
+ * so the server can seed the clean-case audit / a human can scrutinize them.
42
+ */
43
+ unverifiable: GroundingViolation[];
44
+ }
45
+ /**
46
+ * For every CRITICAL finding:
47
+ * - no `grounding` at all → hard violation (no bare critical).
48
+ * - `quote` (or unspecified) grounding → the span MUST appear verbatim
49
+ * (whitespace-normalized) in an added/context line of its file's diff, else
50
+ * hard violation (a claimed quote that isn't in the diff is fabricated).
51
+ * - `reproduction`/`invariant` → recorded as `unverifiable` (audit).
52
+ * Minor/preexisting findings are not grounding-gated here.
53
+ */
54
+ export declare function validateGrounding(findings: readonly NotaryFinding[], diffFiles: readonly DiffFile[]): GroundingResult;
55
+ export interface BundleValidation {
56
+ ok: boolean;
57
+ coverage: CoverageResult;
58
+ grounding: GroundingResult;
59
+ consistency: ConsistencyResult;
60
+ }
61
+ /**
62
+ * Run ③④⑤ over a bundle against a diff. `ok` is the AND of all three hard
63
+ * checks (grounding's `unverifiable` list does not fail the bundle). The server
64
+ * layers ① nonce + ② ground-truth-diff-fetch + the clean-case audit ON TOP of
65
+ * this (Z4); this function is the shared deterministic core both sides call.
66
+ */
67
+ export declare function validateBundle(bundle: NotaryBundle, diffFiles: readonly DiffFile[]): BundleValidation;
68
+ /**
69
+ * Whitespace-normalized substring match of a quoted span against the HEAD-side
70
+ * (added + context) content of a unified-diff patch. Normalizing runs of
71
+ * whitespace to a single space tolerates indentation/wrapping differences
72
+ * between the agent's quote and the exact diff bytes, while still requiring the
73
+ * actual tokens to be present (an attacker can't ground a span that isn't there).
74
+ */
75
+ export declare function spanAppearsInDiff(span: string, patch: string): boolean;
76
+ /**
77
+ * Split raw unified-diff text (`git diff` / `gh pr diff` output) into per-file
78
+ * `{ filename, patch }` entries — the same shape `gh api .../pulls/{n}/files`
79
+ * returns, so downstream validators are source-agnostic. Each `patch` is the
80
+ * hunk region (from the first `@@` onward). Files with no hunk (pure
81
+ * rename/mode/binary) yield `{ filename }` with no patch. Quote/tab-aware
82
+ * (see `unquoteGitPath`) so non-ASCII and space-containing paths survive.
83
+ */
84
+ export declare function splitUnifiedDiff(raw: string): DiffFile[];
85
+ export { parseHeadLines };
86
+ //# sourceMappingURL=notary-validate.d.ts.map