@amsterdamdatalabs/adl-agent-control-linux-x64 0.1.46 → 0.1.48

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 (174) hide show
  1. package/bin/adl +1 -1
  2. package/bin/reconcile +7 -2
  3. package/package.json +1 -1
  4. package/packages/agent-hooks/src/rules/impl/git-branch.ts +1 -1
  5. package/packages/agent-skills/assets/write-feature/SKILL.md +13 -15
  6. package/bin/lean-ctx-observe-strip +0 -434
  7. package/bin/lib/lean-ctx-observe-hooks.sh +0 -634
  8. package/bin/update-azure-agent-pool +0 -29
  9. package/packages/agent-hooks/src/hooks/lean-ctx/handler.ts +0 -22
  10. package/packages/agent-hooks/src/hooks/lean-ctx/index.ts +0 -173
  11. package/packages/agent-hooks/src/hooks/lean-ctx/mapping.ts +0 -121
  12. package/packages/agent-hooks/src/hooks/lean-ctx/scope-rewrite.ts +0 -207
  13. package/packages/agent-hooks/src/lean-ctx/env.ts +0 -123
  14. package/packages/agent-hooks/src/lean-ctx/mcp.ts +0 -142
  15. package/packages/agent-hooks/src/rules/impl/adl-build-run-denied.ts +0 -51
  16. package/packages/agent-hooks/src/rules/impl/adl-session-required.ts +0 -403
  17. package/packages/agent-hooks/src/rules/impl/tool-lean-ctx-global.ts +0 -594
  18. package/packages/agent-settings/assets/GLOBAL-AGENTS.md +0 -112
  19. package/packages/agent-settings/assets/lean-ctx/config.toml +0 -42
  20. package/packages/agent-settings/assets/lean-ctx/gitignore +0 -10
  21. package/packages/agent-settings/assets/lean-ctx/layout.toml +0 -7
  22. package/packages/agent-settings/src/deploy/lean-ctx-deploy.ts +0 -230
  23. package/packages/agent-settings/src/deploy/lean-ctx-merge.ts +0 -580
  24. package/packages/agent-skills/assets/adl-mechanics/SKILL.md +0 -38
  25. package/packages/agent-skills/assets/codebase-design/SKILL.md +0 -98
  26. package/packages/agent-skills/assets/codebase-design/references/DEEPENING.md +0 -37
  27. package/packages/agent-skills/assets/codebase-design/references/DESIGN-IT-TWICE.md +0 -44
  28. package/packages/agent-skills/assets/codebase-design/references/TESTABILITY.md +0 -29
  29. package/packages/agent-skills/assets/debug-issue/SKILL.md +0 -41
  30. package/packages/agent-skills/assets/domain-modeling/SKILL.md +0 -86
  31. package/packages/agent-skills/assets/domain-modeling/references/ADR-FORMAT.md +0 -47
  32. package/packages/agent-skills/assets/domain-modeling/references/CONTEXT-FORMAT.md +0 -60
  33. package/packages/agent-skills/assets/implement/SKILL.md +0 -28
  34. package/packages/agent-skills/assets/review-changes/SKILL.md +0 -45
  35. package/packages/agent-skills/assets/tdd/SKILL.md +0 -49
  36. package/packages/agent-skills/assets/tdd/references/mocking.md +0 -59
  37. package/packages/agent-skills/assets/tdd/references/tests.md +0 -77
  38. package/packages/agent-skills/assets/testing/SKILL.md +0 -54
  39. package/packages/agent-skills/assets/testing/references/e2e.md +0 -37
  40. package/packages/agent-skills/assets/testing/references/integration.md +0 -37
  41. package/packages/agent-skills/assets/testing/references/unit.md +0 -32
  42. package/packages/agent-skills/assets/to-feature/SKILL.md +0 -91
  43. package/packages/agent-skills/assets/to-feature/references/FEATURE-SPEC-TEMPLATE.md +0 -88
  44. package/packages/agent-skills/assets/to-workitems/SKILL.md +0 -90
  45. package/packages/agent-skills/assets/to-workitems/references/AZURE-DEVOPS-HIERARCHY.md +0 -121
  46. package/packages/agent-skills/assets/to-workitems/references/TICKET-TEMPLATES.md +0 -70
  47. package/packages/azdo/src/workflow-rules-matrix.csv +0 -85
  48. package/packages/fleet/src/launch-agents.ts +0 -649
  49. package/packages/repo-controls/assets/GLOBAL-INVARIANTS.md +0 -21
  50. package/packages/repo-controls/assets/enable-integration-auto-complete.mjs +0 -79
  51. package/packages/repo-controls/assets/scaffold/docs/notes.md +0 -20
  52. package/packages/repo-controls/assets/scaffold/plans/GAPS-AND-FINDINGS.md +0 -12
  53. package/packages/repo-controls/azure-pipelines.yml +0 -274
  54. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/closed_set/fixtures/docs/notes.md +0 -1
  55. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/english_only/fixtures/excluded/frontend/mobile/src/i18n/locales/zh-CN/strings.ts +0 -1
  56. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-ledger-clean/docs/notes.md +0 -17
  57. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/okf_profile/fixtures/okf-ledger-no-lines/docs/notes.md +0 -13
  58. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/semantics/fixtures/semantics-violations/docs/architecture/product/stable-delivery.md +0 -10
  59. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/semantics/fixtures/semantics-violations/docs/architecture/product/stable-recommendation.md +0 -12
  60. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/docs/semantics/fixtures/semantics-violations/docs/architecture/product/target-narration.md +0 -10
  61. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-clean/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  62. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-empty-register/frontend/packages/desktop/src/a.ts +0 -1
  63. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-empty-register/frontend/packages/desktop/src/b.ts +0 -1
  64. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/fresh/fresh.ts +0 -1
  65. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub1/only.ts +0 -1
  66. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub10/only.ts +0 -1
  67. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub11/only.ts +0 -1
  68. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub2/only.ts +0 -1
  69. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub3/only.ts +0 -1
  70. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub4/only.ts +0 -1
  71. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub5/only.ts +0 -1
  72. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub6/only.ts +0 -1
  73. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub7/only.ts +0 -1
  74. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub8/only.ts +0 -1
  75. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/many/sub9/only.ts +0 -1
  76. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/services/i18n/locales/de/common.json +0 -1
  77. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  78. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-excluded/frontend/packages/desktop/src/vendored-crate/Cargo.toml +0 -2
  79. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-missing-tree/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  80. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-no-ceilings/frontend/packages/desktop/src/a.ts +0 -1
  81. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-no-ceilings/frontend/packages/desktop/src/b.ts +0 -1
  82. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-no-ceilings/frontend/packages/desktop/src/c.ts +0 -1
  83. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-stale-entry/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  84. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/fresh/fresh.ts +0 -1
  85. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub1/only.ts +0 -1
  86. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub10/only.ts +0 -1
  87. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub11/only.ts +0 -1
  88. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub2/only.ts +0 -1
  89. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub3/only.ts +0 -1
  90. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub4/only.ts +0 -1
  91. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub5/only.ts +0 -1
  92. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub6/only.ts +0 -1
  93. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub7/only.ts +0 -1
  94. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub8/only.ts +0 -1
  95. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/many/sub9/only.ts +0 -1
  96. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unbaselined/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  97. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/directory_ratchet/fixtures/directory-ratchet-unusable-register/frontend/packages/desktop/src/renderer/solo/item.ts +0 -1
  98. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/open_work_cap/fixtures/open-work-cap-clean/plans/GAPS-AND-FINDINGS.md +0 -5
  99. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/open_work_cap/fixtures/open-work-cap-clean/plans/features/az601-clean/spec.md +0 -10
  100. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/agent/crates/enact-providers/src/snapshots/README.md +0 -1
  101. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/backend/crates/enact-app/assets/builtin-assistants/avatars/assistant.jpg +0 -1
  102. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/backend/crates/enact-assets/assets/logos/tools/coding/tool.png +0 -1
  103. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/backend/crates/enact-session/src/backend/codex_init_prompt.md +0 -1
  104. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/frontend/mobile/assets/images/icon.png +0 -1
  105. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/frontend/packages/desktop/src/renderer/assets/logos/brand/app.png +0 -1
  106. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/frontend/packages/desktop/src/renderer/assets/themes/default-theme.png +0 -1
  107. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/frontend/public/pwa/icon-192.png +0 -1
  108. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-allowed/frontend/resources/product.png +0 -1
  109. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/placement/fixtures/placement-stray/backend/crates/enact-session/src/backend/README.md +0 -1
  110. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-clean/plans/features/az347-test-coverage/spec.md +0 -12
  111. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/plans_layout/fixtures/plans-layout-violation/plans/features/az347-test-coverage/spec.md +0 -12
  112. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/__init__.py +0 -11
  113. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/check.py +0 -62
  114. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/NotAMigration.sql +0 -1
  115. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/0001_long_prefix.sql +0 -1
  116. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/001_init.sql +0 -1
  117. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/002_add_index.sql +0 -1
  118. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/003-dashed-slug.sql +0 -1
  119. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/004_MixedCase.sql +0 -1
  120. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/005_trailing space.sql +0 -1
  121. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/01_short_prefix.sql +0 -1
  122. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/fixtures/migration-filenames/backend/crates/demo/migrations/not-a-migration.sql +0 -1
  123. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/profile_data/test_check.py +0 -116
  124. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/references/fixtures/link-targets-broken/docs/architecture/product/links.md +0 -20
  125. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/references/fixtures/link-targets-broken/docs/architecture/product/route-target.md +0 -8
  126. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/references/fixtures/link-targets-clean/docs/architecture/product/links.md +0 -20
  127. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/references/fixtures/link-targets-clean/docs/architecture/product/route-target.md +0 -8
  128. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/root_closed_set/fixtures/.changeset/declared.txt +0 -1
  129. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/layout/root_markdown_allowlist/fixtures/root-markdown-clean/INDEPENDENT-VERIFICATION.md +0 -3
  130. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/attribute-without-conversion/.gitattributes +0 -1
  131. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/attribute-without-conversion/large file.bin +0 -3
  132. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/clean/.gitattributes +0 -1
  133. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/clean/large file.bin +0 -3
  134. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/clean/small.txt +0 -1
  135. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/missing-filter/large file.bin +0 -0
  136. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/unmatched-extension/.gitattributes +0 -1
  137. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/lfs/integrity/fixtures/unmatched-extension/payload.dat +0 -0
  138. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/__init__.py +0 -1
  139. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/__init__.py +0 -12
  140. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/check.py +0 -129
  141. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/fixtures/disjoint/gate-registry.yaml +0 -13
  142. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/fixtures/empty/gate-registry.yaml +0 -7
  143. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/fixtures/overlapping/gate-registry.yaml +0 -13
  144. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/pipeline/phase_disjoint/test_check.py +0 -109
  145. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/__init__.py +0 -1
  146. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/changeset_plan/__init__.py +0 -11
  147. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/changeset_plan/check.py +0 -149
  148. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/changeset_plan/fixtures/clean/docs/readme.md +0 -4
  149. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/changeset_plan/fixtures/relevant/VERSION +0 -1
  150. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/changeset_plan/test_check.py +0 -151
  151. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/__init__.py +0 -11
  152. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/check.py +0 -202
  153. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/aligned/.workflows/changesets/package.json +0 -5
  154. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/aligned/.workflows/package.json +0 -5
  155. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/aligned/CHANGELOG.md +0 -5
  156. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/aligned/VERSION +0 -1
  157. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/mismatched/.workflows/changesets/package.json +0 -5
  158. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/mismatched/.workflows/package.json +0 -5
  159. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/mismatched/CHANGELOG.md +0 -5
  160. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/fixtures/mismatched/VERSION +0 -1
  161. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/release/version_release/test_check.py +0 -162
  162. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/banned_commands/check.py +0 -103
  163. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/clean/backend/Cargo.lock +0 -7
  164. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/clean/backend/Cargo.toml +0 -4
  165. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/clean/backend/rust-toolchain.toml +0 -3
  166. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/clean/backend/src/main.rs +0 -1
  167. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/clean/frontend/bun.lock +0 -1
  168. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/empty-bun-lock/backend/Cargo.lock +0 -7
  169. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/empty-bun-lock/backend/Cargo.toml +0 -4
  170. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/empty-bun-lock/backend/rust-toolchain.toml +0 -3
  171. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/empty-bun-lock/backend/src/main.rs +0 -1
  172. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/checks/repository/lockfile_integrity/fixtures/empty-bun-lock/frontend/bun.lock +0 -0
  173. package/packages/repo-controls/package/adl-compliance/src/adl_compliance/policy/grants-registry.yaml +0 -112
  174. package/packages/repo-controls/workflows/scripts/release/verify-npm-artifact.ts +0 -119
@@ -1,79 +0,0 @@
1
- // Managed by adl-repo-controls — do not edit installed copies.
2
- // Regenerate with: adl-repo-controls install --repo .
3
- import { pathToFileURL } from 'node:url'
4
-
5
- export const REQUIRED_ENVIRONMENT_NAMES = Object.freeze([
6
- 'AZURE_DEVOPS_TOKEN',
7
- 'AZURE_DEVOPS_COLLECTION_URI',
8
- 'AZURE_DEVOPS_PROJECT_ID',
9
- 'AZURE_DEVOPS_REPOSITORY_ID',
10
- 'AZURE_DEVOPS_PULL_REQUEST_ID',
11
- ])
12
-
13
- function requireEnvironment(env) {
14
- const values = {}
15
- for (const name of REQUIRED_ENVIRONMENT_NAMES) {
16
- const value = env[name]?.trim()
17
- if (!value) throw new Error(`missing required environment: ${name}`)
18
- values[name] = value
19
- }
20
- if (!/^[1-9]\d*$/.test(values.AZURE_DEVOPS_PULL_REQUEST_ID)) {
21
- throw new Error('AZURE_DEVOPS_PULL_REQUEST_ID must be a positive integer')
22
- }
23
- return values
24
- }
25
-
26
- async function readResponse(response, action) {
27
- const text = await response.text()
28
- if (!response.ok) throw new Error(`${action} failed (${response.status}): ${text || response.statusText}`)
29
- if (!text) return {}
30
- try {
31
- return JSON.parse(text)
32
- } catch {
33
- throw new Error(`${action} returned invalid JSON`)
34
- }
35
- }
36
-
37
- export async function enableIntegrationAutoComplete(env = process.env, fetchImpl = fetch) {
38
- const {
39
- AZURE_DEVOPS_TOKEN: token,
40
- AZURE_DEVOPS_COLLECTION_URI: collectionUri,
41
- AZURE_DEVOPS_PROJECT_ID: projectId,
42
- AZURE_DEVOPS_REPOSITORY_ID: repositoryId,
43
- AZURE_DEVOPS_PULL_REQUEST_ID: pullRequestId,
44
- } = requireEnvironment(env)
45
- const baseUrl = collectionUri.endsWith('/') ? collectionUri : `${collectionUri}/`
46
- const headers = { Authorization: `Bearer ${token}`, Accept: 'application/json' }
47
-
48
- const identityUrl = new URL('_apis/connectionData?connectOptions=1&lastChangeId=-1&lastChangeId64=-1', baseUrl)
49
- const identityResponse = await fetchImpl(identityUrl, { headers })
50
- const connectionData = await readResponse(identityResponse, 'identity lookup')
51
- const authenticatedUserId = connectionData.authenticatedUser?.id
52
- if (typeof authenticatedUserId !== 'string' || !authenticatedUserId.trim()) {
53
- throw new Error('identity lookup returned no authenticated user id')
54
- }
55
-
56
- const pullRequestUrl = new URL(
57
- `${encodeURIComponent(projectId)}/_apis/git/repositories/${encodeURIComponent(repositoryId)}/pullRequests/${pullRequestId}?api-version=7.1`,
58
- baseUrl,
59
- )
60
- const updateResponse = await fetchImpl(pullRequestUrl, {
61
- method: 'PATCH',
62
- headers: { ...headers, 'Content-Type': 'application/json' },
63
- body: JSON.stringify({
64
- autoCompleteSetBy: { id: authenticatedUserId },
65
- completionOptions: { deleteSourceBranch: true, mergeStrategy: 'squash', transitionWorkItems: false },
66
- }),
67
- })
68
- await readResponse(updateResponse, 'pull request update')
69
- return { pullRequestId: Number(pullRequestId), authenticatedUserId }
70
- }
71
-
72
- if (process.argv[1] && pathToFileURL(process.argv[1]).href === import.meta.url) {
73
- enableIntegrationAutoComplete()
74
- .then(({ pullRequestId }) => console.log(`Enabled auto-complete for PR ${pullRequestId}`))
75
- .catch((error) => {
76
- console.error(error instanceof Error ? error.message : error)
77
- process.exitCode = 1
78
- })
79
- }
@@ -1,20 +0,0 @@
1
- ---
2
- last_update: '2026-10-08T00:00:00Z'
3
- title: Agent notes ledger
4
- description: One append-only ledger per repository for every agent, one line when you start a task and one when you finish it.
5
- type: Operations
6
- status: stable
7
- sources: the repository's agent rules (task ledger convention)
8
- ---
9
-
10
- # Agent notes ledger
11
-
12
- A short, append-only log so anyone landing in the repository can see at a glance
13
- what every agent is doing. Every line is at most 100 characters, format
14
- `YYYY-MM-DD HH:MM <surface> <note>` (for example
15
- `2026-10-08 13:30 claude start: add retry to the uploader`). Agents append one
16
- line when they start a task and one when they finish it. The ledger is never
17
- edited or sorted; earlier lines are never rewritten, only appended to, newest
18
- at the bottom.
19
-
20
- ## Lines
@@ -1,12 +0,0 @@
1
- # Gaps and findings
2
-
3
- Anything found while planning or building that is not the work in hand. Each row
4
- becomes an item file with `item_type: bug`, parented under the same Feature as
5
- the plan it was found from, so the fix stays attached to the effort that
6
- surfaced it.
7
-
8
- Each row states how it was verified, because a finding nobody can re-check is a
9
- rumour. A row is deleted, not marked done, once it stops being a gap.
10
-
11
- | Found | Finding | From plan | Item file | Work item |
12
- | --- | --- | --- | --- | --- |
@@ -1,274 +0,0 @@
1
- trigger:
2
- branches:
3
- include:
4
- - integration
5
- - main
6
-
7
- pr:
8
- branches:
9
- include:
10
- - integration
11
-
12
- variables:
13
- - group: enact-dev-secrets
14
- - name: NODE_VERSION
15
- value: '22.x'
16
-
17
- stages:
18
- # PR validation is intentionally separate from post-merge delivery. A merge
19
- # into integration must not run the test matrix a second time.
20
- - stage: Validate
21
- displayName: Validate pull request
22
- condition: eq(variables['Build.Reason'], 'PullRequest')
23
- jobs:
24
- - job: Build
25
- displayName: bun install, typecheck, test, and pack
26
- pool:
27
- name: Default
28
- demands:
29
- - Agent.OS -equals Linux
30
- strategy:
31
- maxParallel: 3
32
- matrix:
33
- Node22:
34
- NODE_VERSION: '22.x'
35
- Node24:
36
- NODE_VERSION: '24.x'
37
- Node26:
38
- NODE_VERSION: '26.x'
39
- steps:
40
- - checkout: self
41
- persistCredentials: true
42
- path: enact-repo-controls
43
- - task: UseNode@1
44
- displayName: Use Node.js $(NODE_VERSION)
45
- inputs:
46
- version: $(NODE_VERSION)
47
- - script: |
48
- set -euo pipefail
49
- curl -fsSL https://bun.sh/install | bash -s "bun-v1.4.2"
50
- echo "##vso[task.prependpath]$HOME/.bun/bin"
51
- displayName: Install bun 1.4.2
52
- - script: |
53
- set -euo pipefail
54
- cd $(Pipeline.Workspace)/enact-repo-controls
55
- bun install --frozen-lockfile
56
- # Scripts run through bun, the repository's runtime, and through the
57
- # package's own scripts, which carry --coverage and --timeout (locally:
58
- # `just test repo-controls`). npm stays below only where npm itself is
59
- # under test -- pack, global install, publish -- because that is how
60
- # the package reaches its users.
61
- bun run typecheck
62
- bun run test
63
- # The coverage gate. bunfig's flat 100% threshold used to live here by
64
- # implication -- `npm test` enforced it -- and removing that threshold
65
- # took CI's only coverage check with it. This is its replacement, and it
66
- # is deliberate that it runs in CI and not only in the pre-push hook: a
67
- # hook can be uninstalled, bypassed with --no-verify, or never installed
68
- # by a fresh clone.
69
- git fetch --no-tags --depth=50 origin "$(Build.SourceBranchName)" || true
70
- bun run coverage:ratchet
71
- tarball=$(npm pack --ignore-scripts --silent)
72
- isolated=$(mktemp -d)
73
- npm install -g --prefix "$isolated" --no-audit --no-fund \
74
- "$(pwd)/$tarball"
75
- "$isolated/bin/adl-repo-controls" --version
76
- rm -f "$tarball"
77
- rm -rf "$isolated"
78
- displayName: Validate global install on Node $(NODE_VERSION)
79
- - script: |
80
- set -euo pipefail
81
- if [ "$(NODE_VERSION)" != "26.x" ]; then exit 0; fi
82
- cd $(Pipeline.Workspace)/enact-repo-controls
83
- target=$(mktemp -d)
84
- bindir=$(mktemp -d)
85
- ln -s "$(pwd)/bin/adl-repo-controls.ts" "$bindir/adl-repo-controls"
86
- git init -q "$target"
87
- printf 'version = 1\n' > "$target/adl-config.toml"
88
- git -C "$target" add adl-config.toml
89
- git -C "$target" -c user.name='CI smoke' -c user.email='ci-smoke@example.invalid' commit -qm 'chore: enroll smoke target'
90
- bun bin/adl-repo-controls.ts install --repo "$target"
91
- PATH="$bindir:$PATH" bun bin/adl-repo-controls.ts doctor --repo "$target" --json
92
- rm -rf "$target" "$bindir"
93
- displayName: End-to-end install and doctor smoke test on latest stable Node
94
- - script: |
95
- set -euo pipefail
96
- if [ "$(NODE_VERSION)" != "26.x" ]; then exit 0; fi
97
- curl -LsSf https://astral.sh/uv/install.sh | sh
98
- echo "##vso[task.prependpath]$HOME/.local/bin"
99
- displayName: Install uv
100
- - script: |
101
- set -euo pipefail
102
- if [ "$(NODE_VERSION)" != "26.x" ]; then exit 0; fi
103
- cd $(Pipeline.Workspace)/enact-repo-controls/package/adl-compliance
104
- uv run pytest
105
- displayName: adl-compliance test suite (Python side)
106
- # Delivery is independent of Validate: the integration trigger follows a
107
- # green PR merge, so repeating the full matrix here is redundant.
108
- - stage: BumpPackageVersion
109
- displayName: Bump patch version on integration
110
- dependsOn: []
111
- condition: eq(variables['Build.SourceBranch'], 'refs/heads/integration')
112
- jobs:
113
- # Build.SourceVersionMessage is populated only after checkout, so decide
114
- # release eligibility in a job step and publish it to downstream jobs.
115
- - job: DetermineReleaseEligibility
116
- displayName: Determine integration release eligibility
117
- pool:
118
- name: Default
119
- demands:
120
- - Agent.OS -equals Linux
121
- steps:
122
- - checkout: self
123
- - bash: |
124
- set -euo pipefail
125
- if [[ "${BUILD_SOURCEVERSIONMESSAGE:-}" == *'***NO_CI***'* ]]; then
126
- echo 'Skipping integration delivery for a ***NO_CI*** commit.'
127
- echo '##vso[task.setvariable variable=shouldRelease;isOutput=true]false'
128
- else
129
- echo 'Integration delivery is eligible.'
130
- echo '##vso[task.setvariable variable=shouldRelease;isOutput=true]true'
131
- fi
132
- name: SetReleaseEligibility
133
- displayName: Read integration release marker
134
- - job: BumpPatchVersion
135
- displayName: Bump patch version on integration
136
- dependsOn: DetermineReleaseEligibility
137
- condition: and(succeeded(), eq(dependencies.DetermineReleaseEligibility.outputs['SetReleaseEligibility.shouldRelease'], 'true'))
138
- pool:
139
- name: Default
140
- demands:
141
- - Agent.OS -equals Linux
142
- steps:
143
- - checkout: self
144
- persistCredentials: true
145
- - bash: |
146
- set -euo pipefail
147
- cd "$(Build.SourcesDirectory)"
148
- git config user.email "pipeline@build.com"
149
- git config user.name "Azure Pipelines"
150
- git remote set-url origin \
151
- "https://x-token:$(System.AccessToken)@dev.azure.com/amsterdamdatalabs/Enact/_git/enact-repo-controls"
152
- git checkout -B integration
153
- bash .workflows/version-bump.sh \
154
- --file package.json \
155
- --branch integration \
156
- --integration \
157
- --repository enact-repo-controls \
158
- --organization https://dev.azure.com/amsterdamdatalabs \
159
- --project Enact \
160
- --open-pr
161
- displayName: Bump patch version (on integration)
162
- name: AllocateVersion
163
- env:
164
- AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
165
- # Open or refresh integration -> main only after the integration bump
166
- # succeeds. Main remains protected by its owner-approval branch policy.
167
- # Auto-complete remains owner-gated by the main branch policies.
168
- - stage: PromoteMainPr
169
- displayName: Ensure integration to main PR
170
- dependsOn: BumpPackageVersion
171
- condition: and(
172
- succeeded(),
173
- eq(dependencies.BumpPackageVersion.outputs['DetermineReleaseEligibility.SetReleaseEligibility.shouldRelease'], 'true'),
174
- eq(dependencies.BumpPackageVersion.outputs['BumpPatchVersion.AllocateVersion.VERSION_READY'], 'true')
175
- )
176
- jobs:
177
- - job: EnsurePromotionPr
178
- displayName: Create or update integration to main PR
179
- pool:
180
- name: Default
181
- demands:
182
- - Agent.OS -equals Linux
183
- - Agent.OSArchitecture -equals X64
184
- steps:
185
- - checkout: none
186
-
187
- - bash: |
188
- set -euo pipefail
189
- az extension add --name azure-devops --only-show-errors
190
- az devops configure --defaults organization=https://dev.azure.com/amsterdamdatalabs project=Enact
191
- title="release: promote integration to main"
192
- description="Auto-created or updated after successful integration CI for enact-repo-controls build $(Build.BuildNumber). Completes automatically after required owner approval and main branch policies."
193
- pr_id=$(az repos pr list --repository enact-repo-controls --source-branch integration --target-branch main --status active --query "[0].pullRequestId" -o tsv)
194
- if [ -n "$pr_id" ]; then
195
- az repos pr update --id "$pr_id" --title "$title" --description "$description" --auto-complete true --squash false --output none
196
- echo "Updated promotion PR $pr_id (auto-complete on; owner approval still required)"
197
- exit 0
198
- fi
199
- output=$(az repos pr create --repository enact-repo-controls --source-branch integration --target-branch main --title "$title" --description "$description" --auto-complete true --squash false --output none 2>&1) || {
200
- if echo "$output" | grep -qiE "no commits|no changes|nothing to compare"; then
201
- echo "No promotion PR needed: integration and main are aligned."
202
- exit 0
203
- fi
204
- echo "$output"
205
- exit 1
206
- }
207
- echo "Created promotion PR (auto-complete on; owner approval still required)"
208
- displayName: Create or update integration to main PR
209
- env:
210
- AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
211
- - stage: Publish
212
- displayName: Publish to npm
213
- dependsOn: []
214
- condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
215
- jobs:
216
- - job: PublishNpm
217
- displayName: Publish @amsterdamdatalabs/enact-repo-controls
218
- pool:
219
- name: Default
220
- demands:
221
- - Agent.OS -equals Linux
222
- workspace:
223
- clean: all
224
- steps:
225
- - checkout: self
226
- - task: UseNode@1
227
- displayName: Use Node.js $(NODE_VERSION)
228
- inputs:
229
- version: $(NODE_VERSION)
230
- - script: |
231
- set -euo pipefail
232
- curl -fsSL https://bun.sh/install | bash -s "bun-v1.4.2"
233
- echo "##vso[task.prependpath]$HOME/.bun/bin"
234
- displayName: Install bun 1.4.2 for release verification
235
- - script: |
236
- set -euo pipefail
237
- PACKAGE=@amsterdamdatalabs/enact-repo-controls
238
- LOCAL=$(node -p "require('./package.json').version")
239
- VERSIONS=$(npm view "$PACKAGE" versions --json)
240
- PUBLISHED=$(node -e 'const versions = JSON.parse(process.argv[1]); const local = process.argv[2]; process.stdout.write((Array.isArray(versions) ? versions : [versions]).includes(local) ? "true" : "false")' "$VERSIONS" "$LOCAL")
241
- echo "Local: $LOCAL | exact version already published: $PUBLISHED"
242
- if [ "$PUBLISHED" = "true" ]; then
243
- if ! bun workflows/scripts/release/verify-npm-artifact.ts --package "$PACKAGE" --version "$LOCAL" --git-head "$(Build.SourceVersion)" --source src/doctor.ts; then
244
- echo "##vso[task.logissue type=error]Published version $LOCAL does not match this main commit. Bump package.json to an unpublished version; npm versions are immutable."
245
- echo "refusing to skip publication because release provenance is invalid"
246
- exit 1
247
- fi
248
- echo "Version $LOCAL is already published with verified provenance and packed bytes — skipping."
249
- echo "##vso[task.setvariable variable=SKIP_PUBLISH]true"
250
- else
251
- echo "##vso[task.setvariable variable=SKIP_PUBLISH]false"
252
- fi
253
- displayName: Check published version
254
- - script: |
255
- set -euo pipefail
256
- echo "//registry.npmjs.org/:_authToken=$(NPM_TOKEN)" > .npmrc
257
- npm publish --access public
258
- displayName: Publish npm package
259
- condition: ne(variables['SKIP_PUBLISH'], 'true')
260
- - script: |
261
- set -euo pipefail
262
- PACKAGE=@amsterdamdatalabs/enact-repo-controls
263
- LOCAL=$(node -p "require('./package.json').version")
264
- for attempt in $(seq 1 30); do
265
- if bun workflows/scripts/release/verify-npm-artifact.ts --package "$PACKAGE" --version "$LOCAL" --git-head "$(Build.SourceVersion)" --source src/doctor.ts; then
266
- exit 0
267
- fi
268
- echo "Published artifact is not verifiable yet (attempt $attempt/30); waiting 10 seconds."
269
- sleep 10
270
- done
271
- echo "##vso[task.logissue type=error]npm publication completed but the registry artifact never matched this main commit."
272
- exit 1
273
- displayName: Verify published npm artifact
274
- condition: ne(variables['SKIP_PUBLISH'], 'true')
@@ -1,17 +0,0 @@
1
- ---
2
- last_update: 2026-09-28T15:10:00Z
3
- title: Agent notes ledger
4
- description: Fixture task ledger, one append-only line per task start and finish.
5
- type: Operations
6
- status: stable
7
- sources: packages/agent-settings/assets/GLOBAL-AGENTS.md
8
- ---
9
-
10
- # Agent notes ledger
11
-
12
- An append-only log; one line when an agent starts a task and one when it finishes.
13
-
14
- ## Lines
15
-
16
- 2026-09-28 05:31 claude start: fixture task
17
- 2026-09-28 05:40 claude finish: fixture task
@@ -1,13 +0,0 @@
1
- ---
2
- last_update: 2026-09-28T15:10:00Z
3
- title: Agent notes ledger
4
- description: Fixture task ledger, one append-only line per task start and finish.
5
- type: Operations
6
- status: stable
7
- sources: packages/agent-settings/assets/GLOBAL-AGENTS.md
8
- ---
9
-
10
- # Agent notes ledger
11
-
12
- An append-only log; one line when an agent starts a task and one when it finishes.
13
-
@@ -1,10 +0,0 @@
1
- ---
2
- title: "Stable delivery"
3
- description: "Why a stable page narrates delivery"
4
- document_type: architecture
5
- status: stable
6
- last_update: "2026-07-27T00:00:00Z"
7
- reason: "fixture"
8
- ---
9
-
10
- The boundary has been shipped.
@@ -1,12 +0,0 @@
1
- ---
2
- title: "Stable recommendation"
3
- description: "Why a stable page still recommends"
4
- document_type: architecture
5
- status: stable
6
- last_update: "2026-07-27T00:00:00Z"
7
- reason: "fixture"
8
- ---
9
-
10
- ## Recommendation
11
-
12
- Pick one.
@@ -1,10 +0,0 @@
1
- ---
2
- title: "Target narration"
3
- description: "Why the boundary page narrates delivery"
4
- document_type: architecture
5
- status: draft
6
- last_update: "2026-07-27T00:00:00Z"
7
- reason: "fixture"
8
- ---
9
-
10
- This boundary is not yet implemented.
@@ -1,5 +0,0 @@
1
- # Gaps and findings
2
-
3
- | Found | Finding | From plan | Item file | Work item |
4
- | --- | --- | --- | --- | --- |
5
- | 2026-09-17 | One unraised gap | spec.md | TBD | TBD |
@@ -1,10 +0,0 @@
1
- ---
2
- type: feature
3
- title: A clean feature
4
- status: New
5
- epic: https://dev.azure.com/org/project/_workitems/edit/500
6
- work_item: https://dev.azure.com/org/project/_workitems/edit/601
7
- last_update: 2026-09-17T00:00:00Z
8
- ---
9
-
10
- # A clean feature