@attalabs/vinaya 0.26.0 → 0.28.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 (50) hide show
  1. package/README.md +6 -3
  2. package/aeg-root/enforcement.md +5 -5
  3. package/aeg-root/milestone-model.md +2 -0
  4. package/aeg-root/process.md +1 -1
  5. package/aeg-root/roles/developer.md +23 -17
  6. package/aeg-root/roles/planner.md +4 -0
  7. package/aeg-root/roles/principal.md +8 -2
  8. package/aeg-root/roles/reviewer.md +9 -5
  9. package/aeg-root/roles/security.md +9 -5
  10. package/dist/checks/bin/check-body-bare-digits.js +1038 -257
  11. package/dist/checks/bin/check-branch-topology.js +963 -199
  12. package/dist/checks/bin/check-brief-shape.js +1276 -203
  13. package/dist/checks/bin/check-changeset-coverage.js +1677 -281
  14. package/dist/checks/bin/check-closes-n.js +967 -203
  15. package/dist/checks/bin/check-coherence.js +1127 -284
  16. package/dist/checks/bin/check-dead-branch-push.js +910 -193
  17. package/dist/checks/bin/check-dispatch-readiness.js +1189 -295
  18. package/dist/checks/bin/check-doc-coverage-push.js +1673 -277
  19. package/dist/checks/bin/check-doc-coverage.js +1675 -279
  20. package/dist/checks/bin/check-doctrine-no-procedures.js +1020 -257
  21. package/dist/checks/bin/check-doctrine-portability.js +1672 -276
  22. package/dist/checks/bin/check-evidence-fresh.js +2526 -322
  23. package/dist/checks/bin/check-exec-bits.js +1670 -274
  24. package/dist/checks/bin/check-first-push-dispatch.js +1075 -265
  25. package/dist/checks/bin/check-issue-assignment.js +965 -201
  26. package/dist/checks/bin/check-issue-milestone-attach.js +5734 -0
  27. package/dist/checks/bin/check-issue-objectives-numbering.js +5736 -0
  28. package/dist/checks/bin/check-issue-parts-coverage.js +5736 -0
  29. package/dist/checks/bin/check-issue-surface-globs.js +6910 -0
  30. package/dist/checks/bin/check-issue-title-grammar.js +5736 -0
  31. package/dist/checks/bin/check-issue-tranche-label.js +5736 -0
  32. package/dist/checks/bin/check-main-branch-refusal.js +910 -193
  33. package/dist/checks/bin/check-no-disk-state.js +910 -193
  34. package/dist/checks/bin/check-pr-premise-reassert.js +1020 -257
  35. package/dist/checks/bin/check-pr-report-density.js +910 -193
  36. package/dist/checks/bin/check-quoted-command.js +1651 -274
  37. package/dist/checks/bin/check-reader-resolvable-prose.js +1655 -278
  38. package/dist/checks/bin/check-registry-gates.js +997 -193
  39. package/dist/checks/bin/check-retired-vocabulary.js +1649 -272
  40. package/dist/checks/bin/check-review-gate.js +1163 -316
  41. package/dist/checks/bin/check-single-plan-pr.js +910 -193
  42. package/dist/checks/bin/check-surface-scope.js +973 -201
  43. package/dist/checks/bin/check-test-plan.js +939 -206
  44. package/dist/checks/bin/check-token-collection-wired.js +910 -193
  45. package/dist/checks/bin/check-token-report.js +910 -193
  46. package/dist/checks/bin/check-workspace-escape.js +1668 -272
  47. package/dist/index.js +10602 -5352
  48. package/dist/lib/pre-push-changed-files.js +57 -0
  49. package/dist/lib/pre-push-select-tests.js +1473 -0
  50. package/package.json +4 -2
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/lib/remote-base.ts
4
+ import { execFileSync } from "node:child_process";
5
+ import { join } from "node:path";
6
+ function cleanGitEnv() {
7
+ const env = { ...process.env };
8
+ for (const key of Object.keys(env)) {
9
+ if (key.startsWith("GIT_"))
10
+ delete env[key];
11
+ }
12
+ return env;
13
+ }
14
+ function git(repoRoot, args) {
15
+ try {
16
+ return execFileSync("git", args, {
17
+ cwd: repoRoot,
18
+ encoding: "utf8",
19
+ stdio: ["ignore", "pipe", "ignore"],
20
+ env: cleanGitEnv()
21
+ }).trim();
22
+ } catch {
23
+ return "";
24
+ }
25
+ }
26
+ function resolveRemoteBase(repoRoot) {
27
+ const upstream = git(repoRoot, ["rev-parse", "--abbrev-ref", "--symbolic-full-name", "@{u}"]);
28
+ if (upstream)
29
+ return upstream;
30
+ const originMain = git(repoRoot, ["rev-parse", "--verify", "--quiet", "origin/main"]);
31
+ if (originMain)
32
+ return "origin/main";
33
+ return "HEAD~1";
34
+ }
35
+ function changedFilesSinceRemoteBase(repoRoot) {
36
+ const base = resolveRemoteBase(repoRoot);
37
+ const out = git(repoRoot, ["diff", "--name-only", "--diff-filter=ACMR", `${base}...HEAD`]);
38
+ return out.split(`
39
+ `).map((s) => s.trim()).filter(Boolean);
40
+ }
41
+ function changedFilesSinceRemoteBaseAbsolute(repoRoot) {
42
+ return changedFilesSinceRemoteBase(repoRoot).map((f) => join(repoRoot, f));
43
+ }
44
+ function addedOrRenamedFilesSinceRemoteBase(repoRoot) {
45
+ const base = resolveRemoteBase(repoRoot);
46
+ const out = git(repoRoot, ["diff", "--name-only", "--diff-filter=AR", `${base}...HEAD`]);
47
+ return out.split(`
48
+ `).map((s) => s.trim()).filter(Boolean);
49
+ }
50
+ function addedOrRenamedFilesSinceRemoteBaseAbsolute(repoRoot) {
51
+ return addedOrRenamedFilesSinceRemoteBase(repoRoot).map((f) => join(repoRoot, f));
52
+ }
53
+
54
+ // src/lib/pre-push-changed-files.ts
55
+ for (const file of changedFilesSinceRemoteBase(process.cwd()))
56
+ process.stdout.write(`${file}
57
+ `);