@momentiq/dark-factory-cli 0.1.0-alpha.4

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 (132) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +150 -0
  3. package/dist/adapters/_shared.d.ts +45 -0
  4. package/dist/adapters/_shared.d.ts.map +1 -0
  5. package/dist/adapters/_shared.js +200 -0
  6. package/dist/adapters/_shared.js.map +1 -0
  7. package/dist/adapters/codex-sdk.d.ts +279 -0
  8. package/dist/adapters/codex-sdk.d.ts.map +1 -0
  9. package/dist/adapters/codex-sdk.js +930 -0
  10. package/dist/adapters/codex-sdk.js.map +1 -0
  11. package/dist/adapters/critic-result-schema.d.ts +215 -0
  12. package/dist/adapters/critic-result-schema.d.ts.map +1 -0
  13. package/dist/adapters/critic-result-schema.js +153 -0
  14. package/dist/adapters/critic-result-schema.js.map +1 -0
  15. package/dist/adapters/critic.d.ts +62 -0
  16. package/dist/adapters/critic.d.ts.map +1 -0
  17. package/dist/adapters/critic.js +79 -0
  18. package/dist/adapters/critic.js.map +1 -0
  19. package/dist/adapters/cursor-sdk.d.ts +153 -0
  20. package/dist/adapters/cursor-sdk.d.ts.map +1 -0
  21. package/dist/adapters/cursor-sdk.js +818 -0
  22. package/dist/adapters/cursor-sdk.js.map +1 -0
  23. package/dist/adapters/gemini-sdk.d.ts +113 -0
  24. package/dist/adapters/gemini-sdk.d.ts.map +1 -0
  25. package/dist/adapters/gemini-sdk.js +532 -0
  26. package/dist/adapters/gemini-sdk.js.map +1 -0
  27. package/dist/adapters/grok-direct-sdk.d.ts +148 -0
  28. package/dist/adapters/grok-direct-sdk.d.ts.map +1 -0
  29. package/dist/adapters/grok-direct-sdk.js +694 -0
  30. package/dist/adapters/grok-direct-sdk.js.map +1 -0
  31. package/dist/branch-protection/audit_branch_protection.py +759 -0
  32. package/dist/branch-protection/index.d.ts +25 -0
  33. package/dist/branch-protection/index.d.ts.map +1 -0
  34. package/dist/branch-protection/index.js +70 -0
  35. package/dist/branch-protection/index.js.map +1 -0
  36. package/dist/branch-protection/spec-default.yaml +314 -0
  37. package/dist/cli.d.ts +3 -0
  38. package/dist/cli.d.ts.map +1 -0
  39. package/dist/cli.js +581 -0
  40. package/dist/cli.js.map +1 -0
  41. package/dist/cycle-doc-validator/index.d.ts +43 -0
  42. package/dist/cycle-doc-validator/index.d.ts.map +1 -0
  43. package/dist/cycle-doc-validator/index.js +69 -0
  44. package/dist/cycle-doc-validator/index.js.map +1 -0
  45. package/dist/cycle-doc-validator/validate_cycle_doc.py +1260 -0
  46. package/dist/cycle-tracker-sync/attribute_pr_cycle_ref.py +384 -0
  47. package/dist/cycle-tracker-sync/index.d.ts +20 -0
  48. package/dist/cycle-tracker-sync/index.d.ts.map +1 -0
  49. package/dist/cycle-tracker-sync/index.js +71 -0
  50. package/dist/cycle-tracker-sync/index.js.map +1 -0
  51. package/dist/cycle-tracker-sync/sync_cycle_trackers.py +1093 -0
  52. package/dist/evidence/audit-trail.d.ts +59 -0
  53. package/dist/evidence/audit-trail.d.ts.map +1 -0
  54. package/dist/evidence/audit-trail.js +283 -0
  55. package/dist/evidence/audit-trail.js.map +1 -0
  56. package/dist/evidence/index.d.ts +4 -0
  57. package/dist/evidence/index.d.ts.map +1 -0
  58. package/dist/evidence/index.js +29 -0
  59. package/dist/evidence/index.js.map +1 -0
  60. package/dist/evidence/per-sha.d.ts +13 -0
  61. package/dist/evidence/per-sha.d.ts.map +1 -0
  62. package/dist/evidence/per-sha.js +97 -0
  63. package/dist/evidence/per-sha.js.map +1 -0
  64. package/dist/evidence/quality-gates.d.ts +19 -0
  65. package/dist/evidence/quality-gates.d.ts.map +1 -0
  66. package/dist/evidence/quality-gates.js +212 -0
  67. package/dist/evidence/quality-gates.js.map +1 -0
  68. package/dist/git.d.ts +40 -0
  69. package/dist/git.d.ts.map +1 -0
  70. package/dist/git.js +414 -0
  71. package/dist/git.js.map +1 -0
  72. package/dist/glob.d.ts +4 -0
  73. package/dist/glob.d.ts.map +1 -0
  74. package/dist/glob.js +99 -0
  75. package/dist/glob.js.map +1 -0
  76. package/dist/index.d.ts +17 -0
  77. package/dist/index.d.ts.map +1 -0
  78. package/dist/index.js +33 -0
  79. package/dist/index.js.map +1 -0
  80. package/dist/paths.d.ts +12 -0
  81. package/dist/paths.d.ts.map +1 -0
  82. package/dist/paths.js +42 -0
  83. package/dist/paths.js.map +1 -0
  84. package/dist/policy/baseline.d.ts +15 -0
  85. package/dist/policy/baseline.d.ts.map +1 -0
  86. package/dist/policy/baseline.js +115 -0
  87. package/dist/policy/baseline.js.map +1 -0
  88. package/dist/policy/config.d.ts +64 -0
  89. package/dist/policy/config.d.ts.map +1 -0
  90. package/dist/policy/config.js +363 -0
  91. package/dist/policy/config.js.map +1 -0
  92. package/dist/policy/gate.d.ts +80 -0
  93. package/dist/policy/gate.d.ts.map +1 -0
  94. package/dist/policy/gate.js +1019 -0
  95. package/dist/policy/gate.js.map +1 -0
  96. package/dist/policy/index.d.ts +7 -0
  97. package/dist/policy/index.d.ts.map +1 -0
  98. package/dist/policy/index.js +14 -0
  99. package/dist/policy/index.js.map +1 -0
  100. package/dist/policy/merge-queue.d.ts +183 -0
  101. package/dist/policy/merge-queue.d.ts.map +1 -0
  102. package/dist/policy/merge-queue.js +310 -0
  103. package/dist/policy/merge-queue.js.map +1 -0
  104. package/dist/policy/profile.d.ts +98 -0
  105. package/dist/policy/profile.d.ts.map +1 -0
  106. package/dist/policy/profile.js +156 -0
  107. package/dist/policy/profile.js.map +1 -0
  108. package/dist/policy/tdd-classifier.d.ts +18 -0
  109. package/dist/policy/tdd-classifier.d.ts.map +1 -0
  110. package/dist/policy/tdd-classifier.js +79 -0
  111. package/dist/policy/tdd-classifier.js.map +1 -0
  112. package/dist/prompt.d.ts +13 -0
  113. package/dist/prompt.d.ts.map +1 -0
  114. package/dist/prompt.js +175 -0
  115. package/dist/prompt.js.map +1 -0
  116. package/dist/report.d.ts +88 -0
  117. package/dist/report.d.ts.map +1 -0
  118. package/dist/report.js +376 -0
  119. package/dist/report.js.map +1 -0
  120. package/dist/runner.d.ts +30 -0
  121. package/dist/runner.d.ts.map +1 -0
  122. package/dist/runner.js +456 -0
  123. package/dist/runner.js.map +1 -0
  124. package/dist/security.d.ts +2 -0
  125. package/dist/security.d.ts.map +1 -0
  126. package/dist/security.js +19 -0
  127. package/dist/security.js.map +1 -0
  128. package/dist/trusted-surface/rebind.d.ts +10 -0
  129. package/dist/trusted-surface/rebind.d.ts.map +1 -0
  130. package/dist/trusted-surface/rebind.js +154 -0
  131. package/dist/trusted-surface/rebind.js.map +1 -0
  132. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/policy/gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { evaluateCommitGate, evaluatePushGate, evaluateQuorumCriticResults, summarizeGate, enforceVerificationRoutes, runTddClassifier, enforceFindingRubric, buildRubricContext, classifyTdd, type EvaluateGateOptions, type EvaluatePushGateOptions, type EnforceRoutesOptions, type RouteEvaluation, type RouteResult, type RubricStripContext, type RubricResult, type StrippedFinding, type BuildRubricContextOptions, type RunTddClassifierOptions, type TddClassifierConfig, type TddClassifierResult, } from "./gate.js";
2
+ export { type TddVerdict, } from "./tdd-classifier.js";
3
+ export { resolvePolicyBaseline, TRUSTED_SCRIPT_PATHS, type PolicyBaseline, type ResolveBaselineOptions, } from "./baseline.js";
4
+ export { resolveProfile, resolveProfileWithConfig, applyProfileParamOverrides, applyProfileAuth, type ResolvedProfile, } from "./profile.js";
5
+ export { loadAgentReviewConfig, loadAgentReviewConfigFromRef, applyEnvOverrides, CONFIG_RELATIVE_PATH, POLICY_OVERRIDE_ENV, type LoadedConfig, type LoadConfigOptions, type PolicyOverrideRecord, type ApplyEnvOverridesOptions, type ApplyEnvOverridesResult, } from "./config.js";
6
+ export { classifyPrKind, classifyPrKindFromFiles, resolveChiefEngineerLogin, evaluatePlanPrReviewGate, defaultMergeQueueRule, defaultMainRulesetShape, defaultCeReviewRulesetShape, PR_PLAN_DOC_PATTERN, PR_DOC_ROOT, type PrKind, type PrFile, type AgenticEngineerRegistry, type PlanPrReview, type PlanPrGateInputs, type PlanPrGateVerdict, type MergeQueueRule, type PullRequestRule, type RequiredStatusChecksRule, type CopilotCodeReviewRule, type DeletionRule, type NonFastForwardRule, type RequiredLinearHistoryRule, type RulesetRule, type BypassActor, type RulesetShape, } from "./merge-queue.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,EACX,KAAK,MAAM,EACX,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC5B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ // Policy boundary barrel.
2
+ //
3
+ // Created in Phase D to back the `./policy` subpath export declared
4
+ // in `package.json` since Phase B (the subpath pointed at a
5
+ // nonexistent index file from Phase B until this commit). All
6
+ // policy-layer symbols flow through here.
7
+ // Service #2 — Policy Engine (gate.ts is the bulk; aux modules below).
8
+ export { evaluateCommitGate, evaluatePushGate, evaluateQuorumCriticResults, summarizeGate, enforceVerificationRoutes, runTddClassifier, enforceFindingRubric, buildRubricContext, classifyTdd, } from "./gate.js";
9
+ export { resolvePolicyBaseline, TRUSTED_SCRIPT_PATHS, } from "./baseline.js";
10
+ export { resolveProfile, resolveProfileWithConfig, applyProfileParamOverrides, applyProfileAuth, } from "./profile.js";
11
+ export { loadAgentReviewConfig, loadAgentReviewConfigFromRef, applyEnvOverrides, CONFIG_RELATIVE_PATH, POLICY_OVERRIDE_ENV, } from "./config.js";
12
+ // Service #6 — Merge Queue Admission Policy (Phase D boundary).
13
+ export { classifyPrKind, classifyPrKindFromFiles, resolveChiefEngineerLogin, evaluatePlanPrReviewGate, defaultMergeQueueRule, defaultMainRulesetShape, defaultCeReviewRulesetShape, PR_PLAN_DOC_PATTERN, PR_DOC_ROOT, } from "./merge-queue.js";
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/policy/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,oEAAoE;AACpE,4DAA4D;AAC5D,8DAA8D;AAC9D,0CAA0C;AAE1C,uEAAuE;AACvE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,GAaZ,MAAM,WAAW,CAAC;AAInB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,GAGrB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GAMpB,MAAM,aAAa,CAAC;AAErB,gEAAgE;AAChE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,WAAW,GAiBZ,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,183 @@
1
+ export type PrKind = "plan" | "code";
2
+ /** Minimal shape of a GitHub PR file entry — enough for the classifier. */
3
+ export interface PrFile {
4
+ path: string;
5
+ }
6
+ export declare const PR_DOC_ROOT = "docs/";
7
+ export declare const PR_PLAN_DOC_PATTERN: RegExp;
8
+ /**
9
+ * A pure-function classifier — takes a list of file paths from a PR's diff.
10
+ *
11
+ * Faithful byte-for-byte port of the bash regex in sage3c's
12
+ * `plan-pr-review-gate.yml` (cycle 322.4). One known quirk preserved
13
+ * from that source: the workflow's accompanying CLAUDE.md comment
14
+ * says "Files under `cycle*-evidence/` are operational artifacts,
15
+ * not plans; they classify as `code`" — but the bash regex anchors
16
+ * the non-doc count on the `docs/` prefix, so a cycle-doc + sibling
17
+ * `cycle*-evidence/snapshot.md` (both inside `docs/`) still returns
18
+ * `plan`. This port preserves the bash behavior, not the comment's
19
+ * stated intent — fixing the gap is sage3c's call, not the extracted
20
+ * CLI's. See `tests/policy/merge-queue.test.ts` for the pinned
21
+ * regression test.
22
+ */
23
+ export declare function classifyPrKindFromFiles(filePaths: readonly string[]): PrKind;
24
+ /** Convenience wrapper for the typed adapter shape (`PrFile`). */
25
+ export declare function classifyPrKind(files: readonly PrFile[]): PrKind;
26
+ export interface AgenticEngineerRegistry {
27
+ chief_engineer?: {
28
+ github_login?: string | null;
29
+ } | null;
30
+ }
31
+ /**
32
+ * Extract the Chief Engineer's GitHub login from a parsed agentic-engineers
33
+ * registry. Returns null on any deviation from the expected shape so the
34
+ * caller can fail closed without a try/catch storm.
35
+ */
36
+ export declare function resolveChiefEngineerLogin(registry: AgenticEngineerRegistry | null | undefined): string | null;
37
+ export interface PlanPrReview {
38
+ /** The reviewer's GitHub login. */
39
+ userLogin: string;
40
+ /** The PR SHA the review was submitted against. Reviews on stale SHAs are ignored (dismiss_stale_reviews_on_push semantics). */
41
+ commitId: string;
42
+ /** Submission timestamp (ISO 8601 or epoch ms — caller can choose; comparator is `>`). */
43
+ submittedAt: string | number;
44
+ /** GitHub review state. COMMENTED is excluded from latest-wins to preserve a prior APPROVED. */
45
+ state: "APPROVED" | "CHANGES_REQUESTED" | "DISMISSED" | "COMMENTED" | "PENDING";
46
+ }
47
+ export interface PlanPrGateInputs {
48
+ /** Output of `classifyPrKind` over the PR's files. */
49
+ kind: PrKind;
50
+ /** PR author login (`pull_request.user.login`). */
51
+ prAuthorLogin: string;
52
+ /** The Chief Engineer's login, resolved from the base-ref registry. */
53
+ chiefEngineerLogin: string | null;
54
+ /** Current PR head SHA. The CE-APPROVED filter requires the review to be on this SHA. */
55
+ prHeadSha: string;
56
+ /** Every review submitted against the PR. */
57
+ reviews: readonly PlanPrReview[];
58
+ }
59
+ export type PlanPrGateVerdict = {
60
+ admit: true;
61
+ reason: "code_pr_not_applicable" | "ce_self_skip" | "ce_approved_on_head";
62
+ } | {
63
+ admit: false;
64
+ reason: "missing_chief_engineer_login" | "no_ce_review_on_head" | "ce_review_requested_changes" | "ce_dismissed_or_pending";
65
+ detail: string;
66
+ };
67
+ /**
68
+ * Pure evaluator for the plan-PR review gate.
69
+ *
70
+ * Returns `admit: true` for:
71
+ * - code PRs (gate not applicable),
72
+ * - CE-authored plan PRs (architect-loop is the review),
73
+ * - non-CE plan PRs where the CE has APPROVED on the current head SHA.
74
+ *
75
+ * Returns `admit: false` for:
76
+ * - missing CE identity in the registry (fail-closed),
77
+ * - non-CE plan PR with no CE review on the current head SHA,
78
+ * - non-CE plan PR with a CHANGES_REQUESTED CE review on the current head SHA,
79
+ * - non-CE plan PR with the CE's latest review on the current head SHA being DISMISSED/PENDING.
80
+ */
81
+ export declare function evaluatePlanPrReviewGate(inputs: PlanPrGateInputs): PlanPrGateVerdict;
82
+ export interface MergeQueueRule {
83
+ type: "merge_queue";
84
+ parameters: {
85
+ merge_method: "MERGE" | "SQUASH" | "REBASE";
86
+ max_entries_to_build: number;
87
+ min_entries_to_merge: number;
88
+ max_entries_to_merge: number;
89
+ min_entries_to_merge_wait_minutes: number;
90
+ grouping_strategy: "ALLGREEN" | "HEADGREEN";
91
+ check_response_timeout_minutes: number;
92
+ };
93
+ }
94
+ export interface PullRequestRule {
95
+ type: "pull_request";
96
+ parameters: {
97
+ required_approving_review_count: number;
98
+ dismiss_stale_reviews_on_push: boolean;
99
+ required_reviewers: readonly string[];
100
+ require_code_owner_review: boolean;
101
+ require_last_push_approval: boolean;
102
+ required_review_thread_resolution: boolean;
103
+ allowed_merge_methods: readonly ("merge" | "squash" | "rebase")[];
104
+ };
105
+ }
106
+ export interface RequiredStatusChecksRule {
107
+ type: "required_status_checks";
108
+ parameters: {
109
+ strict_required_status_checks_policy: boolean;
110
+ do_not_enforce_on_create: boolean;
111
+ required_status_checks: readonly {
112
+ context: string;
113
+ integration_id?: number;
114
+ }[];
115
+ };
116
+ }
117
+ export interface CopilotCodeReviewRule {
118
+ type: "copilot_code_review";
119
+ parameters: {
120
+ review_on_push: boolean;
121
+ review_draft_pull_requests: boolean;
122
+ };
123
+ }
124
+ export interface DeletionRule {
125
+ type: "deletion";
126
+ }
127
+ export interface NonFastForwardRule {
128
+ type: "non_fast_forward";
129
+ }
130
+ export interface RequiredLinearHistoryRule {
131
+ type: "required_linear_history";
132
+ }
133
+ export type RulesetRule = DeletionRule | NonFastForwardRule | RequiredLinearHistoryRule | PullRequestRule | RequiredStatusChecksRule | CopilotCodeReviewRule | MergeQueueRule;
134
+ export interface BypassActor {
135
+ actor_id: number | null;
136
+ actor_type: "Team" | "RepositoryRole" | "Integration" | "OrganizationAdmin";
137
+ bypass_mode: "always" | "pull_request";
138
+ }
139
+ export interface RulesetShape {
140
+ name: string;
141
+ target: "branch" | "tag";
142
+ source_type: "Repository" | "Organization";
143
+ source: string;
144
+ enforcement: "active" | "evaluate" | "disabled";
145
+ bypass_actors: readonly BypassActor[];
146
+ conditions: {
147
+ ref_name: {
148
+ include: readonly string[];
149
+ exclude: readonly string[];
150
+ };
151
+ };
152
+ rules: readonly RulesetRule[];
153
+ }
154
+ /**
155
+ * Reference merge-queue rule mirroring sage3c's current `main1` posture
156
+ * (cycle 322.4): SQUASH, ALLGREEN, batch up to 5, 60-min check timeout.
157
+ * Consumers can spread + override:
158
+ * { ...defaultMergeQueueRule(), parameters: { ...defaultMergeQueueRule().parameters, merge_method: "REBASE" } }
159
+ */
160
+ export declare function defaultMergeQueueRule(): MergeQueueRule;
161
+ /**
162
+ * Reference Ruleset A (the merge-queue + required-checks ruleset)
163
+ * mirroring sage3c's `main1`. Consumers seed from this then layer
164
+ * their own contexts.
165
+ */
166
+ export declare function defaultMainRulesetShape(source: string, options?: {
167
+ additionalRequiredContexts?: readonly string[];
168
+ }): RulesetShape;
169
+ /**
170
+ * Reference Ruleset B (the CE-bypass review ruleset) mirroring
171
+ * sage3c's `main-ce-review`. Consumers seed from this and replace
172
+ * the `bypass_actors[0]` team id with their own CE team's id.
173
+ *
174
+ * The two-ruleset architecture (cycle 322.4): Ruleset A holds the
175
+ * required checks the CE should NOT be able to bypass; Ruleset B
176
+ * holds the human-review rule the CE bypasses. Required because
177
+ * `bypass_mode` is RULESET-scope, not rule-scope.
178
+ */
179
+ export declare function defaultCeReviewRulesetShape(source: string, options?: {
180
+ chiefEngineerTeamId?: number | null;
181
+ chiefEngineerTeamSlug?: string;
182
+ }): RulesetShape;
183
+ //# sourceMappingURL=merge-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-queue.d.ts","sourceRoot":"","sources":["../../src/policy/merge-queue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ // Service #6 — Merge Queue Admission Policy (Phase D boundary).
2
+ //
3
+ // Two responsibilities, each extracted from a distinct sage3c source:
4
+ //
5
+ // 1) `ruleset-shape` — the TypeScript contract for the GitHub Repository
6
+ // Ruleset rules that codify Dark Factory's merge-queue admission
7
+ // posture: which checks must be green, what the merge-queue strategy
8
+ // is, where the CE-bypass lane lives. Mirrors the shape that
9
+ // sage3c's `audit_branch_protection.py` compares against (Service
10
+ // #7 — already shipped in Phase C). This file declares the contract
11
+ // so consumers can author / validate their own `spec.yaml` without
12
+ // re-implementing the rule shapes from scratch.
13
+ //
14
+ // 2) `plan-vs-code router` — the heuristic that classifies a PR as
15
+ // `plan` (cycle-doc-only) vs `code` (touches anything outside
16
+ // `docs/`). Ported from sage3c's `.github/workflows/plan-pr-review-gate.yml`
17
+ // lines 117-134. Drives the stricter-gate-for-plan-PRs rule that
18
+ // forces CE-in-the-loop on the highest-leverage artifacts.
19
+ //
20
+ // What this file deliberately does NOT do:
21
+ //
22
+ // * Compare a spec against a live ruleset — that's Service #7
23
+ // (`audit_branch_protection.py` in `branch-protection/`).
24
+ // * Classify trivial-vs-substantive issues — that's the Cerebe-
25
+ // backed tier classifier (`scripts/ci/tier_classifier.py`), a
26
+ // separate service not in scope for 331.1.
27
+ // * Enforce committer identity (the AI-Agentic-Engineer authorship
28
+ // gate, `scripts/ci/check_agentic_engineer_authorship.py`) — also
29
+ // a separate service.
30
+ //
31
+ // Sources:
32
+ // sage3c/.github/rulesets/main.json
33
+ // sage3c/.github/rulesets/main-ce-review.json
34
+ // sage3c/.github/workflows/plan-pr-review-gate.yml
35
+ // sage3c/scripts/ci/audit_branch_protection.py (for the rule shapes
36
+ // this file declares; the comparator stays in branch-protection/)
37
+ //
38
+ // Ratified design references:
39
+ // docs/roadmap/cycles/cycle322-dark-factory-chief-engineer-merge-bypass.md
40
+ // docs/roadmap/cycles/cycle322.4-...md (CE bypass lane two-ruleset arch)
41
+ // docs/roadmap/cycles/cycle331.1-extract-from-sage3c.md § Phase D
42
+ // ---------------------------------------------------------------------------
43
+ // Plan-vs-code PR classifier
44
+ //
45
+ // Ported from `.github/workflows/plan-pr-review-gate.yml` (cycle 322.4).
46
+ // The workflow's bash equivalent is:
47
+ //
48
+ // PLAN_FILES = (count files matching docs/roadmap/cycles/cycle*.md
49
+ // directly under cycles/)
50
+ // NON_DOC_FILES = (count files NOT under docs/)
51
+ // if PLAN_FILES > 0 and NON_DOC_FILES == 0:
52
+ // kind = "plan"
53
+ // else:
54
+ // kind = "code"
55
+ //
56
+ // The classifier matches the bash regex `^docs/roadmap/cycles/cycle[0-9.]+-?[a-z0-9-]*\.md$`.
57
+ // Files under `cycle*-evidence/` deliberately classify as `code` —
58
+ // they're operational artifacts, not plans, even though they sit
59
+ // under `docs/roadmap/cycles/`.
60
+ // ---------------------------------------------------------------------------
61
+ export const PR_DOC_ROOT = "docs/";
62
+ // Direct match for a top-level cycle doc: `docs/roadmap/cycles/cycleN[.M[.K]]-slug.md`.
63
+ // Examples (match):
64
+ // docs/roadmap/cycles/cycle331-dark-factory-platformization.md
65
+ // docs/roadmap/cycles/cycle322.4-foo-bar.md
66
+ // docs/roadmap/cycles/cycle1.md
67
+ // Examples (no match — these classify as code):
68
+ // docs/roadmap/cycles/cycle322-evidence/some-artifact.md
69
+ // docs/roadmap/cycles/cycle322/nested.md
70
+ export const PR_PLAN_DOC_PATTERN = /^docs\/roadmap\/cycles\/cycle[0-9.]+-?[a-z0-9-]*\.md$/;
71
+ /**
72
+ * A pure-function classifier — takes a list of file paths from a PR's diff.
73
+ *
74
+ * Faithful byte-for-byte port of the bash regex in sage3c's
75
+ * `plan-pr-review-gate.yml` (cycle 322.4). One known quirk preserved
76
+ * from that source: the workflow's accompanying CLAUDE.md comment
77
+ * says "Files under `cycle*-evidence/` are operational artifacts,
78
+ * not plans; they classify as `code`" — but the bash regex anchors
79
+ * the non-doc count on the `docs/` prefix, so a cycle-doc + sibling
80
+ * `cycle*-evidence/snapshot.md` (both inside `docs/`) still returns
81
+ * `plan`. This port preserves the bash behavior, not the comment's
82
+ * stated intent — fixing the gap is sage3c's call, not the extracted
83
+ * CLI's. See `tests/policy/merge-queue.test.ts` for the pinned
84
+ * regression test.
85
+ */
86
+ export function classifyPrKindFromFiles(filePaths) {
87
+ let planFiles = 0;
88
+ let nonDocFiles = 0;
89
+ for (const path of filePaths) {
90
+ if (PR_PLAN_DOC_PATTERN.test(path)) {
91
+ planFiles++;
92
+ }
93
+ if (!path.startsWith(PR_DOC_ROOT)) {
94
+ nonDocFiles++;
95
+ }
96
+ }
97
+ if (planFiles > 0 && nonDocFiles === 0)
98
+ return "plan";
99
+ return "code";
100
+ }
101
+ /** Convenience wrapper for the typed adapter shape (`PrFile`). */
102
+ export function classifyPrKind(files) {
103
+ return classifyPrKindFromFiles(files.map((f) => f.path));
104
+ }
105
+ /**
106
+ * Extract the Chief Engineer's GitHub login from a parsed agentic-engineers
107
+ * registry. Returns null on any deviation from the expected shape so the
108
+ * caller can fail closed without a try/catch storm.
109
+ */
110
+ export function resolveChiefEngineerLogin(registry) {
111
+ if (!registry || typeof registry !== "object")
112
+ return null;
113
+ const ce = registry.chief_engineer;
114
+ if (!ce || typeof ce !== "object")
115
+ return null;
116
+ const login = ce.github_login;
117
+ if (typeof login !== "string")
118
+ return null;
119
+ const trimmed = login.trim();
120
+ return trimmed.length === 0 ? null : trimmed;
121
+ }
122
+ /**
123
+ * Pure evaluator for the plan-PR review gate.
124
+ *
125
+ * Returns `admit: true` for:
126
+ * - code PRs (gate not applicable),
127
+ * - CE-authored plan PRs (architect-loop is the review),
128
+ * - non-CE plan PRs where the CE has APPROVED on the current head SHA.
129
+ *
130
+ * Returns `admit: false` for:
131
+ * - missing CE identity in the registry (fail-closed),
132
+ * - non-CE plan PR with no CE review on the current head SHA,
133
+ * - non-CE plan PR with a CHANGES_REQUESTED CE review on the current head SHA,
134
+ * - non-CE plan PR with the CE's latest review on the current head SHA being DISMISSED/PENDING.
135
+ */
136
+ export function evaluatePlanPrReviewGate(inputs) {
137
+ if (inputs.kind === "code") {
138
+ return { admit: true, reason: "code_pr_not_applicable" };
139
+ }
140
+ if (!inputs.chiefEngineerLogin) {
141
+ return {
142
+ admit: false,
143
+ reason: "missing_chief_engineer_login",
144
+ detail: "Could not resolve `chief_engineer.github_login` from `.github/agentic-engineers.json` " +
145
+ "on the base ref. Without a CE identity, the gate cannot route plan PRs.",
146
+ };
147
+ }
148
+ if (inputs.prAuthorLogin === inputs.chiefEngineerLogin) {
149
+ return { admit: true, reason: "ce_self_skip" };
150
+ }
151
+ // Find the CE's latest non-COMMENTED review on the current head SHA.
152
+ // COMMENTED is excluded so a CE follow-up note doesn't dismiss a prior APPROVED.
153
+ const ceHeadReviews = inputs.reviews.filter((r) => r.userLogin === inputs.chiefEngineerLogin &&
154
+ r.commitId === inputs.prHeadSha &&
155
+ r.state !== "COMMENTED");
156
+ if (ceHeadReviews.length === 0) {
157
+ return {
158
+ admit: false,
159
+ reason: "no_ce_review_on_head",
160
+ detail: `No Chief Engineer review found on head SHA ${inputs.prHeadSha} by ${inputs.chiefEngineerLogin}.`,
161
+ };
162
+ }
163
+ ceHeadReviews.sort((a, b) => compareSubmittedAt(a.submittedAt, b.submittedAt));
164
+ const latest = ceHeadReviews[ceHeadReviews.length - 1];
165
+ if (!latest) {
166
+ // Unreachable — guarded by length check above, but TS narrows array[N] to T | undefined.
167
+ return {
168
+ admit: false,
169
+ reason: "no_ce_review_on_head",
170
+ detail: `No Chief Engineer review found on head SHA ${inputs.prHeadSha}.`,
171
+ };
172
+ }
173
+ if (latest.state === "APPROVED") {
174
+ return { admit: true, reason: "ce_approved_on_head" };
175
+ }
176
+ if (latest.state === "CHANGES_REQUESTED") {
177
+ return {
178
+ admit: false,
179
+ reason: "ce_review_requested_changes",
180
+ detail: `Chief Engineer ${inputs.chiefEngineerLogin} requested changes on head SHA ${inputs.prHeadSha}.`,
181
+ };
182
+ }
183
+ return {
184
+ admit: false,
185
+ reason: "ce_dismissed_or_pending",
186
+ detail: `Chief Engineer ${inputs.chiefEngineerLogin}'s latest review on head SHA ${inputs.prHeadSha} is in state ${latest.state}.`,
187
+ };
188
+ }
189
+ function compareSubmittedAt(a, b) {
190
+ const an = toMs(a);
191
+ const bn = toMs(b);
192
+ return an - bn;
193
+ }
194
+ function toMs(t) {
195
+ if (typeof t === "number")
196
+ return t;
197
+ const n = Date.parse(t);
198
+ // Treat NaN (unparseable) as 0 so it sorts deterministically before
199
+ // any real timestamp — never throws on user-supplied review data.
200
+ return Number.isFinite(n) ? n : 0;
201
+ }
202
+ /**
203
+ * Reference merge-queue rule mirroring sage3c's current `main1` posture
204
+ * (cycle 322.4): SQUASH, ALLGREEN, batch up to 5, 60-min check timeout.
205
+ * Consumers can spread + override:
206
+ * { ...defaultMergeQueueRule(), parameters: { ...defaultMergeQueueRule().parameters, merge_method: "REBASE" } }
207
+ */
208
+ export function defaultMergeQueueRule() {
209
+ return {
210
+ type: "merge_queue",
211
+ parameters: {
212
+ merge_method: "SQUASH",
213
+ max_entries_to_build: 5,
214
+ min_entries_to_merge: 1,
215
+ max_entries_to_merge: 5,
216
+ min_entries_to_merge_wait_minutes: 0,
217
+ grouping_strategy: "ALLGREEN",
218
+ check_response_timeout_minutes: 60,
219
+ },
220
+ };
221
+ }
222
+ /**
223
+ * Reference Ruleset A (the merge-queue + required-checks ruleset)
224
+ * mirroring sage3c's `main1`. Consumers seed from this then layer
225
+ * their own contexts.
226
+ */
227
+ export function defaultMainRulesetShape(source, options = {}) {
228
+ const ctxs = (options.additionalRequiredContexts ?? []).map((context) => ({ context }));
229
+ return {
230
+ name: "main1",
231
+ target: "branch",
232
+ source_type: "Repository",
233
+ source,
234
+ enforcement: "active",
235
+ bypass_actors: [],
236
+ conditions: {
237
+ ref_name: { include: ["refs/heads/main"], exclude: [] },
238
+ },
239
+ rules: [
240
+ { type: "deletion" },
241
+ { type: "non_fast_forward" },
242
+ {
243
+ type: "pull_request",
244
+ parameters: {
245
+ required_approving_review_count: 0,
246
+ dismiss_stale_reviews_on_push: false,
247
+ required_reviewers: [],
248
+ require_code_owner_review: false,
249
+ require_last_push_approval: false,
250
+ required_review_thread_resolution: true,
251
+ allowed_merge_methods: ["merge", "squash", "rebase"],
252
+ },
253
+ },
254
+ { type: "required_linear_history" },
255
+ {
256
+ type: "required_status_checks",
257
+ parameters: {
258
+ strict_required_status_checks_policy: true,
259
+ do_not_enforce_on_create: false,
260
+ required_status_checks: ctxs,
261
+ },
262
+ },
263
+ defaultMergeQueueRule(),
264
+ ],
265
+ };
266
+ }
267
+ /**
268
+ * Reference Ruleset B (the CE-bypass review ruleset) mirroring
269
+ * sage3c's `main-ce-review`. Consumers seed from this and replace
270
+ * the `bypass_actors[0]` team id with their own CE team's id.
271
+ *
272
+ * The two-ruleset architecture (cycle 322.4): Ruleset A holds the
273
+ * required checks the CE should NOT be able to bypass; Ruleset B
274
+ * holds the human-review rule the CE bypasses. Required because
275
+ * `bypass_mode` is RULESET-scope, not rule-scope.
276
+ */
277
+ export function defaultCeReviewRulesetShape(source, options = {}) {
278
+ return {
279
+ name: "main-ce-review",
280
+ target: "branch",
281
+ source_type: "Repository",
282
+ source,
283
+ enforcement: "active",
284
+ bypass_actors: [
285
+ {
286
+ actor_id: options.chiefEngineerTeamId ?? null,
287
+ actor_type: "Team",
288
+ bypass_mode: "pull_request",
289
+ },
290
+ ],
291
+ conditions: {
292
+ ref_name: { include: ["refs/heads/main"], exclude: [] },
293
+ },
294
+ rules: [
295
+ {
296
+ type: "pull_request",
297
+ parameters: {
298
+ required_approving_review_count: 1,
299
+ dismiss_stale_reviews_on_push: true,
300
+ required_reviewers: [],
301
+ require_code_owner_review: true,
302
+ require_last_push_approval: false,
303
+ required_review_thread_resolution: false,
304
+ allowed_merge_methods: ["merge", "squash", "rebase"],
305
+ },
306
+ },
307
+ ],
308
+ };
309
+ }
310
+ //# sourceMappingURL=merge-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-queue.js","sourceRoot":"","sources":["../../src/policy/merge-queue.ts"],"names":[],"mappings":"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"}