@event4u/agent-config 14.15.0 → 14.17.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 (58) hide show
  1. package/.augment-plugin/marketplace.json +3 -3
  2. package/.augment-plugin/plugin.json +1 -1
  3. package/.claude-plugin/marketplace.json +1 -1
  4. package/CHANGELOG.md +84 -153
  5. package/README.md +1 -1
  6. package/dist/agent-src/commands/analyze/inbox.md +172 -6
  7. package/dist/agent-src/commands/fix/commit-messages.md +336 -0
  8. package/dist/agent-src/commands/fix.md +5 -3
  9. package/dist/agent-src/rules/commit-conventions.md +1 -1
  10. package/dist/agent-src/rules/security-sensitive-stop.md +7 -5
  11. package/dist/agent-src/skills/accessibility-auditor/SKILL.md +20 -2
  12. package/dist/agent-src/skills/aws-infrastructure/SKILL.md +41 -0
  13. package/dist/agent-src/skills/conventional-commits-writing/SKILL.md +234 -4
  14. package/dist/agent-src/skills/design-intelligence/data/ux-guidelines.csv +99 -99
  15. package/dist/agent-src/skills/fe-design/SKILL.md +6 -3
  16. package/dist/agent-src/skills/fe-design/references/design-patterns.md +28 -0
  17. package/dist/agent-src/skills/iconography/SKILL.md +37 -6
  18. package/dist/agent-src/skills/react-shadcn-ui/SKILL.md +1 -1
  19. package/dist/agent-src/skills/terraform/SKILL.md +29 -0
  20. package/dist/agent-src/skills/threat-modeling/data/reasoning.csv +1 -0
  21. package/dist/agent-src/skills/threat-modeling/data/surfaces.csv +1 -0
  22. package/dist/agent-src/skills/threat-modeling/data/threats.csv +5 -0
  23. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  24. package/dist/cli-delegate/cmd_conformance.js +158 -33
  25. package/dist/cli-delegate/cmd_explain.js +24 -112
  26. package/dist/discovery/deprecation-report.md +1 -1
  27. package/dist/discovery/discovery-manifest.json +47 -21
  28. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  29. package/dist/discovery/discovery-manifest.summary.md +3 -3
  30. package/dist/discovery/dormancy-report.md +1 -1
  31. package/dist/discovery/orphan-report.md +1 -1
  32. package/dist/discovery/packs.json +6 -5
  33. package/dist/discovery/trust-report.md +2 -2
  34. package/dist/discovery/workspaces.json +5 -4
  35. package/dist/hooks/dispatch.js +169 -41
  36. package/dist/mcp/registry-manifest.json +3 -3
  37. package/dist/mcp/server.json +2 -2
  38. package/dist/mcp/server.mjs +160 -35
  39. package/dist/router.json +1 -1
  40. package/docs/guidelines/design-antipatterns.md +10 -2
  41. package/package.json +1 -1
  42. package/src/config/gate-violation-baselines.json +2 -2
  43. package/src/config/web-launch-readiness.json +1 -1
  44. package/src/scripts/_cli/explain_last/index.ts +1 -1
  45. package/src/scripts/_cli/explain_last/memory.ts +8 -104
  46. package/src/scripts/check_artefact_count_messaging.ts +9 -0
  47. package/src/scripts/check_release_highlights.ts +77 -4
  48. package/src/scripts/check_web_launch_readiness.ts +295 -15
  49. package/src/scripts/design_slop_rules.ts +19 -9
  50. package/src/scripts/git_authorization_hook.ts +257 -35
  51. package/src/scripts/hooks/block_unauthorized_git.ts +16 -4
  52. package/src/scripts/hooks/merge_impact.ts +68 -0
  53. package/src/scripts/measure_release_mix.ts +384 -0
  54. package/src/scripts/release.ts +4 -17
  55. package/src/scripts/release_drill.ts +154 -1
  56. package/src/scripts/release_mix_taxonomy.json +172 -0
  57. package/src/scripts/release_publication.ts +91 -0
  58. package/src/scripts/attest_artifact.ts +0 -193
@@ -26,8 +26,8 @@ import {
26
26
  } from "./chunk-J55WI3RR.js";
27
27
 
28
28
  // src/scripts/_cli/cmd_explain.ts
29
- import * as fs7 from "node:fs";
30
- import * as path6 from "node:path";
29
+ import * as fs6 from "node:fs";
30
+ import * as path5 from "node:path";
31
31
  import process2 from "node:process";
32
32
  import { fileURLToPath, pathToFileURL } from "node:url";
33
33
 
@@ -303,7 +303,7 @@ function _repr(s) {
303
303
  }
304
304
 
305
305
  // src/scripts/_cli/explain_last/index.ts
306
- import * as fs6 from "node:fs";
306
+ import * as fs5 from "node:fs";
307
307
 
308
308
  // src/scripts/_cli/explain_last/scrubber.ts
309
309
  var LONG_STRING_THRESHOLD = 200;
@@ -817,15 +817,12 @@ function _isOsError(exc) {
817
817
  }
818
818
 
819
819
  // src/scripts/_cli/explain_last/memory.ts
820
- import * as fs4 from "node:fs";
821
- import * as path4 from "node:path";
822
820
  var PyFloat = class {
823
821
  constructor(value) {
824
822
  this.value = value;
825
823
  }
826
824
  value;
827
825
  };
828
- var MEMORY_SIDECAR = path4.join(".agent-memory", "hits.jsonl");
829
826
  function _pyTruthy5(value) {
830
827
  if (value === null || value === void 0) {
831
828
  return false;
@@ -908,93 +905,8 @@ function _from_state(state) {
908
905
  }
909
906
  return entries;
910
907
  }
911
- function _splitlines(s) {
912
- if (s === "") {
913
- return [];
914
- }
915
- const breaks = /* @__PURE__ */ new Set([
916
- "\n",
917
- "\r",
918
- "\v",
919
- "\f",
920
- "",
921
- "",
922
- "",
923
- "\x85",
924
- "\u2028",
925
- "\u2029"
926
- ]);
927
- const out = [];
928
- let cur = "";
929
- for (let i = 0; i < s.length; i += 1) {
930
- const ch = s[i];
931
- if (ch === "\r" && s[i + 1] === "\n") {
932
- out.push(cur);
933
- cur = "";
934
- i += 1;
935
- continue;
936
- }
937
- if (breaks.has(ch)) {
938
- out.push(cur);
939
- cur = "";
940
- continue;
941
- }
942
- cur += ch;
943
- }
944
- if (cur !== "") {
945
- out.push(cur);
946
- }
947
- return out;
948
- }
949
- function _from_sidecar(project_root, run_id) {
950
- const p = path4.join(project_root, MEMORY_SIDECAR);
951
- if (!fs4.existsSync(p)) {
952
- return [];
953
- }
954
- const entries = [];
955
- let content;
956
- try {
957
- content = fs4.readFileSync(p, "utf-8");
958
- } catch {
959
- return [];
960
- }
961
- for (let line of _splitlines(content)) {
962
- line = line.trim();
963
- if (!line) {
964
- continue;
965
- }
966
- let raw;
967
- try {
968
- raw = JSON.parse(line);
969
- } catch {
970
- continue;
971
- }
972
- if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
973
- continue;
974
- }
975
- const rawDict = raw;
976
- if (run_id) {
977
- const got = rawDict.run_id ?? null;
978
- if (got !== null && got !== run_id) {
979
- continue;
980
- }
981
- }
982
- const entry = _coerce_entry(rawDict);
983
- if (entry !== null) {
984
- entries.push(entry);
985
- }
986
- }
987
- return entries;
988
- }
989
- function build5(project_root, state) {
990
- const input = _pyTruthy5(state.input) ? state.input : {};
991
- const dataRaw = "data" in input ? input.data : {};
992
- const data = typeof dataRaw === "object" && dataRaw !== null && !Array.isArray(dataRaw) ? dataRaw : {};
993
- const run_id = data.id;
908
+ function build5(state) {
994
909
  const entries = _from_state(state);
995
- entries.push(
996
- ..._from_sidecar(project_root, typeof run_id === "string" ? run_id : null)
997
- );
998
910
  return entries.length > 0 ? entries : null;
999
911
  }
1000
912
 
@@ -1062,17 +974,17 @@ function build6(state) {
1062
974
  }
1063
975
 
1064
976
  // src/scripts/_cli/explain_last/route.ts
1065
- import * as fs5 from "node:fs";
1066
- import * as path5 from "node:path";
977
+ import * as fs4 from "node:fs";
978
+ import * as path4 from "node:path";
1067
979
  var ROUTER_FILENAME = "router.json";
1068
- var ROUTER_RELATIVE = path5.join("dist", ROUTER_FILENAME);
980
+ var ROUTER_RELATIVE = path4.join("dist", ROUTER_FILENAME);
1069
981
  function _load_router(project_root) {
1070
- const p = path5.join(project_root, ROUTER_RELATIVE);
1071
- if (!fs5.existsSync(p)) {
982
+ const p = path4.join(project_root, ROUTER_RELATIVE);
983
+ if (!fs4.existsSync(p)) {
1072
984
  return null;
1073
985
  }
1074
986
  try {
1075
- const parsed = JSON.parse(fs5.readFileSync(p, "utf-8"));
987
+ const parsed = JSON.parse(fs4.readFileSync(p, "utf-8"));
1076
988
  return parsed;
1077
989
  } catch {
1078
990
  return null;
@@ -1175,7 +1087,7 @@ function _derive_run_id(state, state_file) {
1175
1087
  }
1176
1088
  let mtime = 0;
1177
1089
  try {
1178
- mtime = fs6.statSync(state_file).mtimeMs / 1e3;
1090
+ mtime = fs5.statSync(state_file).mtimeMs / 1e3;
1179
1091
  } catch {
1180
1092
  mtime = 0;
1181
1093
  }
@@ -1193,7 +1105,7 @@ function build_trace(project_root, state_file, options = {}) {
1193
1105
  inputs: build4(project_root),
1194
1106
  route: build7(project_root, state),
1195
1107
  council: build2(project_root, state_file),
1196
- memory: build5(project_root, state),
1108
+ memory: build5(state),
1197
1109
  pack: build_pack(project_root),
1198
1110
  assumptions: build(state),
1199
1111
  halt: build3(state),
@@ -1722,7 +1634,7 @@ ${TIP_FOOTER}`;
1722
1634
 
1723
1635
  // src/scripts/_cli/cmd_explain.ts
1724
1636
  var ROUTER_FILENAME2 = "router.json";
1725
- var ROUTER_RELATIVE2 = path6.join("dist", ROUTER_FILENAME2);
1637
+ var ROUTER_RELATIVE2 = path5.join("dist", ROUTER_FILENAME2);
1726
1638
  var _HERE = fileURLToPath(import.meta.url);
1727
1639
  var ArgparseExit = class extends Error {
1728
1640
  constructor(code) {
@@ -1834,7 +1746,7 @@ function _dumpJson(payload) {
1834
1746
  }
1835
1747
  function _exists2(p) {
1836
1748
  try {
1837
- fs7.statSync(p);
1749
+ fs6.statSync(p);
1838
1750
  return true;
1839
1751
  } catch {
1840
1752
  return false;
@@ -1859,19 +1771,19 @@ function _resolve_root(arg) {
1859
1771
  }
1860
1772
  }
1861
1773
  function _load_user_settings(project_root) {
1862
- const p = path6.join(project_root, DEFAULT_PROJECT_FILE);
1774
+ const p = path5.join(project_root, DEFAULT_PROJECT_FILE);
1863
1775
  if (!_exists2(p)) {
1864
1776
  return {};
1865
1777
  }
1866
1778
  return load_agent_settings({ project_path: p }) || {};
1867
1779
  }
1868
1780
  function _load_router2(project_root) {
1869
- const p = path6.join(project_root, ROUTER_RELATIVE2);
1781
+ const p = path5.join(project_root, ROUTER_RELATIVE2);
1870
1782
  if (!_exists2(p)) {
1871
1783
  return {};
1872
1784
  }
1873
1785
  try {
1874
- return JSON.parse(fs7.readFileSync(p, { encoding: "utf-8" }));
1786
+ return JSON.parse(fs6.readFileSync(p, { encoding: "utf-8" }));
1875
1787
  } catch (exc) {
1876
1788
  eprint(`\u274C explain: cannot read ${p}: ${osErrorStr(exc)}`);
1877
1789
  throw new SystemExitError(2);
@@ -2088,7 +2000,7 @@ function _explain_last(project_root, state_file, as_json, quiet) {
2088
2000
  print("explain last disabled by settings (explain.enable_last)");
2089
2001
  return 0;
2090
2002
  }
2091
- const target_state = state_file || path6.join(project_root, ".work-state.json");
2003
+ const target_state = state_file || path5.join(project_root, ".work-state.json");
2092
2004
  let trace;
2093
2005
  try {
2094
2006
  trace = build_trace(project_root, target_state);
@@ -2099,7 +2011,7 @@ function _explain_last(project_root, state_file, as_json, quiet) {
2099
2011
  if (relativeTo !== null) {
2100
2012
  rel = relativeTo;
2101
2013
  } else {
2102
- rel = path6.basename(target_state);
2014
+ rel = path5.basename(target_state);
2103
2015
  }
2104
2016
  const msg = exc.message.split(target_state).join(rel);
2105
2017
  eprint(`\u274C explain last: ${msg}`);
@@ -2115,9 +2027,9 @@ function _explain_last(project_root, state_file, as_json, quiet) {
2115
2027
  return 0;
2116
2028
  }
2117
2029
  function relativeToOrNull(p, base) {
2118
- const rel = path6.relative(base, p);
2030
+ const rel = path5.relative(base, p);
2119
2031
  if (rel === "") return rel;
2120
- if (rel.startsWith("..") || path6.isAbsolute(rel)) {
2032
+ if (rel.startsWith("..") || path5.isAbsolute(rel)) {
2121
2033
  return null;
2122
2034
  }
2123
2035
  return rel;
@@ -2284,13 +2196,13 @@ function _isCliEntry() {
2284
2196
  if (process2.argv[1] === void 0) {
2285
2197
  return false;
2286
2198
  }
2287
- const argvUrl = pathToFileURL(path6.resolve(process2.argv[1])).href;
2199
+ const argvUrl = pathToFileURL(path5.resolve(process2.argv[1])).href;
2288
2200
  if (import.meta.url === argvUrl) {
2289
2201
  return true;
2290
2202
  }
2291
2203
  try {
2292
- const here = fs7.realpathSync(fileURLToPath(import.meta.url));
2293
- const argv = fs7.realpathSync(path6.resolve(process2.argv[1]));
2204
+ const here = fs6.realpathSync(fileURLToPath(import.meta.url));
2205
+ const argv = fs6.realpathSync(path5.resolve(process2.argv[1]));
2294
2206
  return here === argv;
2295
2207
  } catch {
2296
2208
  return false;
@@ -1,6 +1,6 @@
1
1
  # Discovery — Deprecation Report
2
2
 
3
- - Generated: `2026-09-03T13:00:38Z`
3
+ - Generated: `2026-09-05T05:33:47Z`
4
4
  - Deprecated artefacts: **0**
5
5
 
6
6
  _None. Tree is clean._
@@ -360,7 +360,7 @@
360
360
  },
361
361
  {
362
362
  "category": "command",
363
- "checksum": "sha256:566e4d523e131bdf5e0a28a5bf0c544805956c646b03d2a45a9061c8268d4d49",
363
+ "checksum": "sha256:acfd0bdc3251429e8f418b6d9f3e32a26ba85942266a2248c053288c34b4f429",
364
364
  "install": {
365
365
  "default": true,
366
366
  "removable": false
@@ -1057,12 +1057,12 @@
1057
1057
  },
1058
1058
  {
1059
1059
  "category": "command",
1060
- "checksum": "sha256:8cd5692abb4cbaec5526cc650ad88a7429a5dcf1c921e80974bf46e5227afc31",
1060
+ "checksum": "sha256:598e0006286c50059835114af326c888669fadccc34218bd8aeb7bc60d319b9f",
1061
1061
  "install": {
1062
1062
  "default": true,
1063
1063
  "removable": false
1064
1064
  },
1065
- "intent": "Fix-workflow dispatcher — ci, pr-comments, pr-comments-loop, refs, seeder, portability, comments, quality",
1065
+ "intent": "Fix-workflow dispatcher — ci, pr-comments, pr-comments-loop, refs, seeder, portability, comments, commit-messages, quality",
1066
1066
  "lifecycle": "active",
1067
1067
  "name": "fix",
1068
1068
  "pack": "engineering-base",
@@ -1079,6 +1079,7 @@
1079
1079
  "fix-seeder",
1080
1080
  "fix-portability",
1081
1081
  "fix-comments",
1082
+ "fix-commit-messages",
1082
1083
  "fix-quality",
1083
1084
  "fix-route"
1084
1085
  ],
@@ -1118,6 +1119,31 @@
1118
1119
  "agent-config-maintainer"
1119
1120
  ]
1120
1121
  },
1122
+ {
1123
+ "category": "command",
1124
+ "checksum": "sha256:f7bfaa1534906c98194154aad1f8ea6c0f0ade94a3e6da884b4669d7058b7443",
1125
+ "install": {
1126
+ "default": true,
1127
+ "removable": false
1128
+ },
1129
+ "lifecycle": "active",
1130
+ "name": "fix-commit-messages",
1131
+ "pack": "engineering-base",
1132
+ "packs": [
1133
+ "meta"
1134
+ ],
1135
+ "path": "src/domains/engineering-base/fix/commit-messages/command.md",
1136
+ "slug": "fix-commit-messages",
1137
+ "trust": {
1138
+ "confidence": "high",
1139
+ "human_review_required": false,
1140
+ "level": "core"
1141
+ },
1142
+ "visibility": "internal",
1143
+ "workspaces": [
1144
+ "agent-config-maintainer"
1145
+ ]
1146
+ },
1121
1147
  {
1122
1148
  "category": "command",
1123
1149
  "checksum": "sha256:380c991a9f4948ab9753e92fed18658db17b45893687164281205ae3885be34f",
@@ -5732,7 +5758,7 @@
5732
5758
  },
5733
5759
  {
5734
5760
  "category": "rule",
5735
- "checksum": "sha256:e78ad2e07a0c187fca461658b3d6a4d2c18bbf632e7075b2bceef64a462736fd",
5761
+ "checksum": "sha256:7f012a7428d4c4d0412dbb853bb64421ffeb420173a92e23a386afa0d5b62b4e",
5736
5762
  "install": {
5737
5763
  "default": true,
5738
5764
  "removable": false
@@ -7533,7 +7559,7 @@
7533
7559
  },
7534
7560
  {
7535
7561
  "category": "rule",
7536
- "checksum": "sha256:4b7bde90e07a74e274fc2c68fdd6afc5862549a8116553f207f907d3fdbe34c4",
7562
+ "checksum": "sha256:ce1cb5a8edb4d7795812ee40d79ad6d65b12d4115c5ad08d405088ceb182b96d",
7537
7563
  "install": {
7538
7564
  "default": true,
7539
7565
  "removable": false
@@ -8159,7 +8185,7 @@
8159
8185
  },
8160
8186
  {
8161
8187
  "category": "skill",
8162
- "checksum": "sha256:6c28aee3cab7bc6b89e66dcb3e64034d7a3722ab59508715b7fd58d8bc2d6c45",
8188
+ "checksum": "sha256:43e583f67648601be4b58d13b7e37a406a543adae9723d6aeeb0d977b4d5d32b",
8163
8189
  "install": {
8164
8190
  "default": true,
8165
8191
  "removable": false
@@ -8577,7 +8603,7 @@
8577
8603
  },
8578
8604
  {
8579
8605
  "category": "skill",
8580
- "checksum": "sha256:baa93744948e26b3677cb77144d491070ea63bf495191c8e66db7a9d44a26970",
8606
+ "checksum": "sha256:e58d69196c8e5c90fc9902a78a86fd3606284c6d471615fa9e69867efd13d004",
8581
8607
  "install": {
8582
8608
  "default": true,
8583
8609
  "removable": false
@@ -9281,7 +9307,7 @@
9281
9307
  },
9282
9308
  {
9283
9309
  "category": "skill",
9284
- "checksum": "sha256:9b25b8ff439cf3c9fd703d052f5f499a85dbf418110140a8d1d99720bb14594b",
9310
+ "checksum": "sha256:42a56536667e2d98e94404905831a02accb86dfe5844dc9499fe4e2abb2fbb93",
9285
9311
  "install": {
9286
9312
  "default": true,
9287
9313
  "removable": false
@@ -10117,7 +10143,7 @@
10117
10143
  },
10118
10144
  {
10119
10145
  "category": "skill",
10120
- "checksum": "sha256:190b44d9a43e1ab3d556ed0ce5d3a728813762129487105c86dd5084eae24b54",
10146
+ "checksum": "sha256:67b216c8bbadb98f913d974c4b4577b65877b06b17c4c3a42e4ebabbf2c7ab30",
10121
10147
  "install": {
10122
10148
  "default": true,
10123
10149
  "removable": false
@@ -10601,7 +10627,7 @@
10601
10627
  },
10602
10628
  {
10603
10629
  "category": "skill",
10604
- "checksum": "sha256:a6fa1458478db10bda583b341b2d7bcb361187fb57e3df918109834d04fb5798",
10630
+ "checksum": "sha256:b5fbbb739c3aac24877c314bde4be904f9cd672613f51242ed97b21e84888330",
10605
10631
  "install": {
10606
10632
  "default": true,
10607
10633
  "removable": true
@@ -12983,7 +13009,7 @@
12983
13009
  },
12984
13010
  {
12985
13011
  "category": "skill",
12986
- "checksum": "sha256:b418af0901b1ca9696cca805079ffa5ff0bf730e9b877497417a8e9b32ca3765",
13012
+ "checksum": "sha256:ed5fd6e152267b152c1a8e0719c8cf9fe3303c4b1662a8eb1e78cb060d18948d",
12987
13013
  "install": {
12988
13014
  "default": false,
12989
13015
  "removable": true
@@ -14149,7 +14175,7 @@
14149
14175
  },
14150
14176
  {
14151
14177
  "category": "skill",
14152
- "checksum": "sha256:f3b517e7641304ddb59aa87f889d13174bc7459f53b6482f39f3c29e82c676b6",
14178
+ "checksum": "sha256:04ca9b083907c4c44d3d73740a1e629d84ba3e689a9640250c93060b41646a7c",
14153
14179
  "install": {
14154
14180
  "default": true,
14155
14181
  "removable": false
@@ -14743,7 +14769,7 @@
14743
14769
  },
14744
14770
  {
14745
14771
  "category": "subagent",
14746
- "checksum": "sha256:d57dfc1457cf467402e4ee1187cd162cbb62ddecb35b101d6e1aae6e2f103baa",
14772
+ "checksum": "sha256:b455bc3b2ee4e2adadd5ed9e9b781068aaafda014304bf91a5574d26d543683d",
14747
14773
  "install": {
14748
14774
  "default": false,
14749
14775
  "removable": true
@@ -14760,7 +14786,7 @@
14760
14786
  "workspaces": []
14761
14787
  }
14762
14788
  ],
14763
- "checksum": "sha256:9aca1f614f7add7d67778fa6a96e9d0f003607832be5cd432d07759474a8d08f",
14789
+ "checksum": "sha256:050eb71e8c64d4eae3c85c2691838794f9a436a1808835a8b388f2a3971250ac",
14764
14790
  "deprecations": [
14765
14791
  {
14766
14792
  "key": "tier",
@@ -14909,7 +14935,7 @@
14909
14935
  "reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
14910
14936
  }
14911
14937
  ],
14912
- "generated_at": "2026-09-03T13:00:38Z",
14938
+ "generated_at": "2026-09-05T05:33:47Z",
14913
14939
  "packs": [
14914
14940
  {
14915
14941
  "artefact_count": 128,
@@ -15658,7 +15684,7 @@
15658
15684
  },
15659
15685
  {
15660
15686
  "always_on": true,
15661
- "artefact_count": 300,
15687
+ "artefact_count": 301,
15662
15688
  "description": "Artefacts that maintain this package (agent-config itself).",
15663
15689
  "domain": "meta",
15664
15690
  "human_review_required": 0,
@@ -15674,7 +15700,7 @@
15674
15700
  "trust_level_default": "core",
15675
15701
  "trust_summary": {
15676
15702
  "advisory": 0,
15677
- "core": 298,
15703
+ "core": 299,
15678
15704
  "experimental": 2,
15679
15705
  "professional": 0,
15680
15706
  "restricted": 0
@@ -15765,27 +15791,27 @@
15765
15791
  "scanner_version": "de0a22b4ac4c",
15766
15792
  "stats": {
15767
15793
  "by_category": {
15768
- "command": 202,
15794
+ "command": 203,
15769
15795
  "rule": 120,
15770
15796
  "skill": 299,
15771
15797
  "subagent": 1,
15772
15798
  "template": 1
15773
15799
  },
15774
15800
  "by_lifecycle": {
15775
- "active": 605,
15801
+ "active": 606,
15776
15802
  "archived": 0,
15777
15803
  "deprecated": 0,
15778
15804
  "experimental": 18
15779
15805
  },
15780
15806
  "by_trust_level": {
15781
15807
  "advisory": 8,
15782
- "core": 490,
15808
+ "core": 491,
15783
15809
  "experimental": 23,
15784
15810
  "professional": 102,
15785
15811
  "restricted": 0
15786
15812
  },
15787
15813
  "documented_unassigned_count": 27,
15788
- "total_artefacts": 623,
15814
+ "total_artefacts": 624,
15789
15815
  "unassigned_count": 0
15790
15816
  },
15791
15817
  "unassigned": [],
@@ -1 +1 @@
1
- 05ba9a2538875c8dbca0017cbf440896be64d6f737bfca1f5047a6835b75a5ea discovery-manifest.json
1
+ b6d912c7a07017329d09d59c8a57ec9facf284dee72f6cf0b1d5c05c88ac8c9f discovery-manifest.json
@@ -1,8 +1,8 @@
1
1
  # Discovery Manifest — Summary
2
2
 
3
- - Generated: `2026-09-03T13:00:38Z`
3
+ - Generated: `2026-09-05T05:33:47Z`
4
4
  - Scanner: `de0a22b4ac4c`
5
- - Artefacts: **623**
5
+ - Artefacts: **624**
6
6
  - Unassigned: **0**
7
7
 
8
8
  ## `engineering` — Engineering
@@ -106,7 +106,7 @@
106
106
 
107
107
  | Pack | Artefacts |
108
108
  |---|---|
109
- | `meta` — Meta | 300 |
109
+ | `meta` — Meta | 301 |
110
110
  | `memory` — Memory | 9 |
111
111
  | `analytics` — Analytics | 4 |
112
112
  | `product-reasoning` — Product Reasoning | 11 |
@@ -1,6 +1,6 @@
1
1
  # Discovery — Dormancy Report
2
2
 
3
- - Generated: `2026-09-03T13:00:38Z`
3
+ - Generated: `2026-09-05T05:33:47Z`
4
4
  - Window: **6 months** without a commit
5
5
 
6
6
  > Dormancy triggers **review, never auto-deprecation**
@@ -1,6 +1,6 @@
1
1
  # Discovery — Orphan Report
2
2
 
3
- - Generated: `2026-09-03T13:00:38Z`
3
+ - Generated: `2026-09-05T05:33:47Z`
4
4
  - Orphan artefacts: **0**
5
5
 
6
6
  > An orphan is an artefact whose declared pack has no other members.
@@ -1,6 +1,6 @@
1
1
  {
2
- "checksum": "sha256:9aca1f614f7add7d67778fa6a96e9d0f003607832be5cd432d07759474a8d08f",
3
- "generated_at": "2026-09-03T13:00:38Z",
2
+ "checksum": "sha256:050eb71e8c64d4eae3c85c2691838794f9a436a1808835a8b388f2a3971250ac",
3
+ "generated_at": "2026-09-05T05:33:47Z",
4
4
  "packs": [
5
5
  {
6
6
  "always_on": false,
@@ -1367,7 +1367,7 @@
1367
1367
  },
1368
1368
  {
1369
1369
  "always_on": true,
1370
- "artefact_count": 300,
1370
+ "artefact_count": 301,
1371
1371
  "artefacts": [
1372
1372
  "src/agent-src/templates/agents/proposal.example.md",
1373
1373
  "src/domains/ai-video/image/analyse/command.md",
@@ -1396,6 +1396,7 @@
1396
1396
  "src/domains/engineering-base/fix/ci/command.md",
1397
1397
  "src/domains/engineering-base/fix/command.md",
1398
1398
  "src/domains/engineering-base/fix/comments/command.md",
1399
+ "src/domains/engineering-base/fix/commit-messages/command.md",
1399
1400
  "src/domains/engineering-base/fix/portability/command.md",
1400
1401
  "src/domains/engineering-base/fix/pr-comments-loop/command.md",
1401
1402
  "src/domains/engineering-base/fix/pr-comments/command.md",
@@ -1671,14 +1672,14 @@
1671
1672
  "src/skills/verify-repair-loop/SKILL.md"
1672
1673
  ],
1673
1674
  "by_lifecycle": {
1674
- "active": 299,
1675
+ "active": 300,
1675
1676
  "archived": 0,
1676
1677
  "deprecated": 0,
1677
1678
  "experimental": 1
1678
1679
  },
1679
1680
  "by_trust_level": {
1680
1681
  "advisory": 0,
1681
- "core": 298,
1682
+ "core": 299,
1682
1683
  "experimental": 2,
1683
1684
  "professional": 0,
1684
1685
  "restricted": 0
@@ -1,6 +1,6 @@
1
1
  # Discovery — Trust Report
2
2
 
3
- - Generated: `2026-09-03T13:00:38Z`
3
+ - Generated: `2026-09-05T05:33:47Z`
4
4
  - Workspaces tracked: **10**
5
5
  - Human-review-required artefacts: **3**
6
6
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  | Workspace | core | professional | experimental | advisory | restricted |
10
10
  |---|---|---|---|---|---|
11
- | `agent-config-maintainer` | 330 | 0 | 3 | 0 | 0 |
11
+ | `agent-config-maintainer` | 331 | 0 | 3 | 0 | 0 |
12
12
  | `construction` | 27 | 0 | 0 | 0 | 0 |
13
13
  | `engineering` | 201 | 62 | 4 | 0 | 0 |
14
14
  | `finance` | 30 | 4 | 0 | 1 | 0 |
@@ -1,6 +1,6 @@
1
1
  {
2
- "checksum": "sha256:9aca1f614f7add7d67778fa6a96e9d0f003607832be5cd432d07759474a8d08f",
3
- "generated_at": "2026-09-03T13:00:38Z",
2
+ "checksum": "sha256:050eb71e8c64d4eae3c85c2691838794f9a436a1808835a8b388f2a3971250ac",
3
+ "generated_at": "2026-09-05T05:33:47Z",
4
4
  "scanner_version": "de0a22b4ac4c",
5
5
  "workspaces": [
6
6
  {
@@ -648,7 +648,7 @@
648
648
  ]
649
649
  },
650
650
  {
651
- "artefact_count": 324,
651
+ "artefact_count": 325,
652
652
  "default_packs": [
653
653
  "meta",
654
654
  "memory",
@@ -661,7 +661,7 @@
661
661
  "optional_packs": [],
662
662
  "packs": [
663
663
  {
664
- "artefact_count": 300,
664
+ "artefact_count": 301,
665
665
  "artefacts": [
666
666
  "src/agent-src/templates/agents/proposal.example.md",
667
667
  "src/domains/ai-video/image/analyse/command.md",
@@ -690,6 +690,7 @@
690
690
  "src/domains/engineering-base/fix/ci/command.md",
691
691
  "src/domains/engineering-base/fix/command.md",
692
692
  "src/domains/engineering-base/fix/comments/command.md",
693
+ "src/domains/engineering-base/fix/commit-messages/command.md",
693
694
  "src/domains/engineering-base/fix/portability/command.md",
694
695
  "src/domains/engineering-base/fix/pr-comments-loop/command.md",
695
696
  "src/domains/engineering-base/fix/pr-comments/command.md",