@event4u/agent-config 17.0.0 → 17.1.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 (119) 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 +104 -485
  5. package/README.md +2 -1
  6. package/dist/agent-src/contexts/execution/host-capability-manifest.md +5 -3
  7. package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
  8. package/dist/agent-src/templates/roadmaps.md +5 -1
  9. package/dist/cli-delegate/{chunk-IROAQ77A.js → chunk-3PK3VZHB.js} +107 -9
  10. package/dist/cli-delegate/{chunk-2SFOOFJJ.js → chunk-BZJ4Y3CI.js} +1 -1
  11. package/dist/cli-delegate/{chunk-CAL76ADI.js → chunk-CMZEKSNN.js} +52 -10
  12. package/dist/cli-delegate/{chunk-ESUNQ5XR.js → chunk-E3CFULNX.js} +22 -4
  13. package/dist/cli-delegate/{chunk-GOMILC3O.js → chunk-QBHEI5N4.js} +4 -3
  14. package/dist/cli-delegate/{chunk-SIOMDAKL.js → chunk-VYZGJLCA.js} +29 -39
  15. package/dist/cli-delegate/chunk-W5JXMF2T.js +77 -0
  16. package/dist/cli-delegate/{chunk-4SHNERBL.js → chunk-XIAPY44N.js} +1 -1
  17. package/dist/cli-delegate/{chunk-JHMMWNJ2.js → chunk-YHAPONWV.js} +1 -1
  18. package/dist/cli-delegate/cmd_conformance.js +9 -8
  19. package/dist/cli-delegate/cmd_doctor.js +4 -4
  20. package/dist/cli-delegate/cmd_doctor_neighbours.js +2 -2
  21. package/dist/cli-delegate/cmd_explain.js +1 -1
  22. package/dist/cli-delegate/cmd_export.js +6 -6
  23. package/dist/cli-delegate/cmd_fleet.js +3 -3
  24. package/dist/cli-delegate/cmd_preflight.js +3 -3
  25. package/dist/cli-delegate/cmd_prune.js +6 -6
  26. package/dist/cli-delegate/cmd_settings_migrate.js +6 -6
  27. package/dist/cli-delegate/cmd_settings_set.js +1 -1
  28. package/dist/cli-delegate/cmd_sync.js +6 -6
  29. package/dist/cli-delegate/cmd_uninstall.js +6 -6
  30. package/dist/cli-delegate/cmd_update.js +9 -13
  31. package/dist/cli-delegate/cmd_validate.js +6 -6
  32. package/dist/discovery/deprecation-report.md +1 -1
  33. package/dist/discovery/discovery-manifest.json +4 -4
  34. package/dist/discovery/discovery-manifest.json.sha256 +1 -1
  35. package/dist/discovery/discovery-manifest.summary.md +1 -1
  36. package/dist/discovery/dormancy-report.md +1 -1
  37. package/dist/discovery/orphan-report.md +1 -1
  38. package/dist/discovery/packs.json +2 -2
  39. package/dist/discovery/trust-report.md +1 -1
  40. package/dist/discovery/workspaces.json +2 -2
  41. package/dist/hooks/dispatch.js +98 -74
  42. package/dist/hooks/dispatch.sha256 +1 -1
  43. package/dist/install/claudeRuleRewrite.js +10 -3
  44. package/dist/install/conflict.js +24 -2
  45. package/dist/install/conflictTracker.js +14 -3
  46. package/dist/install/install.mjs +222 -117
  47. package/dist/install/installThinLayer.js +1 -0
  48. package/dist/install/loggedWrites.js +142 -0
  49. package/dist/install/paths.js +12 -2
  50. package/dist/install/preserve.js +25 -4
  51. package/dist/install/txlog.js +10 -6
  52. package/dist/mcp/registry-manifest.json +2 -2
  53. package/dist/mcp/server.json +2 -2
  54. package/dist/mcp/server.mjs +845 -294
  55. package/dist/scripts/_lib/egress_rules.js +4 -1
  56. package/dist/scripts/_lib/identifier_redaction.js +35 -2
  57. package/dist/scripts/ai_council/seat_policy.js +7 -1
  58. package/dist/server/schemas/settings.js +1 -1
  59. package/package.json +1 -1
  60. package/src/config/ci-local-parity.yml +1 -1
  61. package/src/config/gate-coverage.yml +27 -7
  62. package/src/config/gate-violation-baselines.json +8 -2
  63. package/src/config/hook-bundle-budget.json +2 -2
  64. package/src/config/production-entries.json +18 -0
  65. package/src/config/release-gate-locality.yml +0 -7
  66. package/src/install/claudeRuleRewrite.ts +10 -1
  67. package/src/install/conflict.ts +24 -1
  68. package/src/install/conflictTracker.ts +18 -2
  69. package/src/install/installThinLayer.ts +6 -0
  70. package/src/install/loggedWrites.ts +148 -0
  71. package/src/install/paths.ts +11 -2
  72. package/src/install/preserve.ts +40 -4
  73. package/src/install/txlog.ts +10 -6
  74. package/src/scripts/_cli/cmd_conformance.ts +3 -2
  75. package/src/scripts/_cli/cmd_update.ts +15 -17
  76. package/src/scripts/_lib/council_settings_block.ts +9 -2
  77. package/src/scripts/_lib/egress_rules.ts +4 -1
  78. package/src/scripts/_lib/host_capability.ts +10 -5
  79. package/src/scripts/_lib/identifier_redaction.ts +38 -2
  80. package/src/scripts/_lib/price_freshness.ts +112 -0
  81. package/src/scripts/_lib/production_reach.ts +194 -0
  82. package/src/scripts/_lib/quota_parked.ts +17 -28
  83. package/src/scripts/_lib/release_findings_ingest.ts +13 -335
  84. package/src/scripts/_lib/tier_downshift_verdict.ts +81 -35
  85. package/src/scripts/ai_council/chairman.ts +5 -2
  86. package/src/scripts/ai_council/clients.ts +4 -3
  87. package/src/scripts/ai_council/free_hand_shadow.ts +24 -12
  88. package/src/scripts/ai_council/free_route_catalog.ts +142 -5
  89. package/src/scripts/ai_council/free_route_client.ts +4 -0
  90. package/src/scripts/ai_council/hand_payload.ts +115 -7
  91. package/src/scripts/ai_council/orchestrator.ts +7 -10
  92. package/src/scripts/ai_council/route_chooser.ts +1 -1
  93. package/src/scripts/ai_council/route_member.ts +66 -4
  94. package/src/scripts/ai_council/seat_policy.ts +8 -1
  95. package/src/scripts/ai_council/self_hosted_probe.ts +327 -0
  96. package/src/scripts/ai_council/status_surface.ts +2 -0
  97. package/src/scripts/ask_transport.ts +137 -15
  98. package/src/scripts/check_finding_dispositions.ts +25 -71
  99. package/src/scripts/check_release_pr_shape.ts +3 -3
  100. package/src/scripts/check_step_production_reach.ts +257 -0
  101. package/src/scripts/council_cli.ts +10 -8
  102. package/src/scripts/hook_manifest.json +1 -1
  103. package/src/scripts/hook_manifest.yaml +3 -0
  104. package/src/scripts/hooks/dispatch_hook.ts +2 -2
  105. package/src/scripts/hooks/payload_stub.ts +27 -0
  106. package/src/scripts/hooks/spawn_guard_shadow_hook.ts +29 -70
  107. package/src/scripts/hooks/subagent_ledger_hook.ts +80 -0
  108. package/src/scripts/install.ts +2 -2
  109. package/src/scripts/lint_decision_classes.ts +34 -0
  110. package/src/scripts/lint_hook_manifest.ts +24 -0
  111. package/src/scripts/lint_roadmap_blockers.ts +52 -3
  112. package/src/scripts/release.ts +5 -9
  113. package/src/scripts/release_drill.ts +11 -165
  114. package/src/scripts/release_publication.ts +0 -9
  115. package/src/scripts/report_production_reach.ts +35 -0
  116. package/src/scripts/worker_reuse_shadow_report.ts +399 -1
  117. package/src/server/schemas/settings.ts +1 -1
  118. package/dist/cli-delegate/chunk-A4QJ6ENT.js +0 -50
  119. /package/dist/cli-delegate/{chunk-E6XNBVE4.js → chunk-KR5ZIFPO.js} +0 -0
@@ -0,0 +1,77 @@
1
+ import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
+
3
+ // src/install/paths.ts
4
+ import { homedir, tmpdir } from "node:os";
5
+ import { join } from "node:path";
6
+ var INSTALL_ROOT_SUBPATH = ".event4u/agent-config";
7
+ var INSTALL_LOG_FILENAME = "install-log.jsonl";
8
+ function resolveHome(home) {
9
+ if (home && home.length > 0) {
10
+ return home;
11
+ }
12
+ const fromOs = homedir();
13
+ if (!fromOs) {
14
+ throw new Error(
15
+ "Cannot resolve home directory \u2014 both $HOME (POSIX) and $USERPROFILE (Windows) are unset."
16
+ );
17
+ }
18
+ return fromOs;
19
+ }
20
+ function getInstallRoot(home) {
21
+ return join(resolveHome(home), INSTALL_ROOT_SUBPATH);
22
+ }
23
+ function getLogPath(home) {
24
+ const configHome = home ? void 0 : process.env["EVENT4U_CONFIG_HOME"];
25
+ if (configHome) return join(configHome, INSTALL_LOG_FILENAME);
26
+ return join(getInstallRoot(home), INSTALL_LOG_FILENAME);
27
+ }
28
+
29
+ // src/install/detect.ts
30
+ import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
31
+ import { join as join2, resolve } from "node:path";
32
+ var SCOPE_DETECT_MANIFESTS = [
33
+ "package.json",
34
+ "composer.json",
35
+ "pyproject.toml",
36
+ "Cargo.toml",
37
+ "go.mod",
38
+ "Gemfile"
39
+ ];
40
+ var SCOPE_DETECT_AI_DIRS = [
41
+ ".claude",
42
+ ".cursor",
43
+ ".windsurf",
44
+ ".augment",
45
+ ".clinerules",
46
+ ".copilot",
47
+ ".gemini",
48
+ ".codex",
49
+ ".aider",
50
+ ".continue",
51
+ ".roo",
52
+ ".kilocode"
53
+ ];
54
+ function detectToolPresence(root) {
55
+ return {
56
+ augment: isDir(join2(root, ".augment")),
57
+ claude: isDir(join2(root, ".claude")),
58
+ cursor: isDir(join2(root, ".cursor")),
59
+ cline: isDir(join2(root, ".clinerules")),
60
+ windsurf: isDir(join2(root, ".windsurf")) || existsSync(join2(root, ".windsurfrules")),
61
+ agentsMd: existsSync(join2(root, "AGENTS.md"))
62
+ };
63
+ }
64
+ function isDir(path) {
65
+ try {
66
+ return statSync(path).isDirectory();
67
+ } catch {
68
+ return false;
69
+ }
70
+ }
71
+
72
+ export {
73
+ getLogPath,
74
+ SCOPE_DETECT_MANIFESTS,
75
+ SCOPE_DETECT_AI_DIRS,
76
+ detectToolPresence
77
+ };
@@ -4470,7 +4470,7 @@ var settingsSchema = external_exports.object({
4470
4470
  egress: external_exports.object({
4471
4471
  placeholders: external_exports.object({
4472
4472
  mode: external_exports.enum(["off", "observe", "protect", "strict"]).default("off").describe(
4473
- "Dispatcher egress stage (docs/contracts/egress-placeholders-v1.md). off (default) = nothing. observe = detect and count listed values in prompts and tool bodies, types and counts only, and change nothing a hook concern sees. protect = also give every recording and advisory concern a copy with each value replaced by a placeholder token, so local stores keep tokens; guards still see the original. strict = as protect until the host rewrite exists. No mode yet changes what reaches the model; the rule table holds credential rules only. Project layers only."
4473
+ "Dispatcher egress stage (docs/contracts/egress-placeholders-v1.md). off (default) = nothing. observe = detect and count listed values in prompts and tool bodies, types and counts only, and change nothing a hook concern sees. protect = also give every recording and advisory concern a copy with each value replaced by a placeholder token, so local stores keep tokens; guards still see the original. strict = as protect until the host rewrite exists. No mode yet changes what reaches the model; the rule table holds credential rows and the validated identifier rows. Project layers only."
4474
4474
  )
4475
4475
  }).default({})
4476
4476
  }).default({}),
@@ -3,7 +3,7 @@ import {
3
3
  atomicAppendLine,
4
4
  readConsequenceClass,
5
5
  stubLawIds
6
- } from "./chunk-GOMILC3O.js";
6
+ } from "./chunk-QBHEI5N4.js";
7
7
 
8
8
  // src/install/txlog.ts
9
9
  import { createGzip } from "node:zlib";
@@ -3,11 +3,12 @@ import {
3
3
  THIN_ENTRY_MARKER,
4
4
  TIER_TO_CLAUDE_MODEL,
5
5
  readRecentEntries
6
- } from "./chunk-JHMMWNJ2.js";
6
+ } from "./chunk-YHAPONWV.js";
7
7
  import "./chunk-LF2KKJ4Q.js";
8
8
  import {
9
- detectToolPresence
10
- } from "./chunk-A4QJ6ENT.js";
9
+ detectToolPresence,
10
+ getLogPath
11
+ } from "./chunk-W5JXMF2T.js";
11
12
  import {
12
13
  NO_RED_EVIDENCE_REASON,
13
14
  RENDER_REL,
@@ -60,7 +61,7 @@ import {
60
61
  proseEqual,
61
62
  resolveSessionRole,
62
63
  splitFrontmatter
63
- } from "./chunk-CAL76ADI.js";
64
+ } from "./chunk-CMZEKSNN.js";
64
65
  import {
65
66
  _is_global_only_consumer
66
67
  } from "./chunk-2Y5AMLMY.js";
@@ -74,7 +75,7 @@ import "./chunk-AX3U3UWJ.js";
74
75
  import {
75
76
  atomicAppendLine,
76
77
  probeHostCapabilities
77
- } from "./chunk-GOMILC3O.js";
78
+ } from "./chunk-QBHEI5N4.js";
78
79
  import "./chunk-7DRWULEQ.js";
79
80
  import "./chunk-ULQRUR23.js";
80
81
  import {
@@ -102,9 +103,9 @@ import {
102
103
  import {
103
104
  load_agent_settings
104
105
  } from "./chunk-XLY5G3CM.js";
105
- import "./chunk-2SFOOFJJ.js";
106
+ import "./chunk-BZJ4Y3CI.js";
106
107
  import "./chunk-FIEEOH5C.js";
107
- import "./chunk-E6XNBVE4.js";
108
+ import "./chunk-KR5ZIFPO.js";
108
109
  import {
109
110
  artefact_roots
110
111
  } from "./chunk-YCU3TIXH.js";
@@ -7335,7 +7336,7 @@ function installLogPath() {
7335
7336
  if (override && override.trim().length > 0) {
7336
7337
  return override;
7337
7338
  }
7338
- return path19.join(os7.homedir(), ".event4u", "agent-config", "install-log.jsonl");
7339
+ return getLogPath();
7339
7340
  }
7340
7341
  function _installLogExpected(projectRoot) {
7341
7342
  return fs22.existsSync(manifest_path(projectRoot));
@@ -64,7 +64,7 @@ import {
64
64
  _wizard_state_path,
65
65
  main,
66
66
  shutilWhich
67
- } from "./chunk-CAL76ADI.js";
67
+ } from "./chunk-CMZEKSNN.js";
68
68
  import {
69
69
  INSTALL_MODE_MARKER_RELATIVE,
70
70
  _is_global_only_consumer
@@ -76,7 +76,7 @@ import "./chunk-FTAISGDQ.js";
76
76
  import "./chunk-5VO3RTMV.js";
77
77
  import "./chunk-6V6TA25H.js";
78
78
  import "./chunk-AX3U3UWJ.js";
79
- import "./chunk-GOMILC3O.js";
79
+ import "./chunk-QBHEI5N4.js";
80
80
  import "./chunk-7DRWULEQ.js";
81
81
  import "./chunk-ULQRUR23.js";
82
82
  import "./chunk-I4KJYVPB.js";
@@ -86,9 +86,9 @@ import "./chunk-PV7S5DPJ.js";
86
86
  import "./chunk-LQOCRFWT.js";
87
87
  import "./chunk-7HKRE54K.js";
88
88
  import "./chunk-XLY5G3CM.js";
89
- import "./chunk-2SFOOFJJ.js";
89
+ import "./chunk-BZJ4Y3CI.js";
90
90
  import "./chunk-FIEEOH5C.js";
91
- import "./chunk-E6XNBVE4.js";
91
+ import "./chunk-KR5ZIFPO.js";
92
92
  import "./chunk-YCU3TIXH.js";
93
93
  import "./chunk-DEIV7XP7.js";
94
94
  import "./chunk-J2SJZICO.js";
@@ -6,9 +6,9 @@ import {
6
6
  runCensus,
7
7
  runContradictions,
8
8
  summaryLine
9
- } from "./chunk-2SFOOFJJ.js";
9
+ } from "./chunk-BZJ4Y3CI.js";
10
10
  import "./chunk-FIEEOH5C.js";
11
- import "./chunk-E6XNBVE4.js";
11
+ import "./chunk-KR5ZIFPO.js";
12
12
  import "./chunk-YCU3TIXH.js";
13
13
  import "./chunk-DEIV7XP7.js";
14
14
  import "./chunk-J2SJZICO.js";
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  assignmentPattern,
24
24
  rawKeyPrefixPattern
25
- } from "./chunk-E6XNBVE4.js";
25
+ } from "./chunk-KR5ZIFPO.js";
26
26
  import {
27
27
  artefact_roots
28
28
  } from "./chunk-YCU3TIXH.js";
@@ -9,16 +9,16 @@ import {
9
9
  KIRO_MARKER,
10
10
  ROOCODE_MARKER,
11
11
  ZED_MARKER
12
- } from "./chunk-SIOMDAKL.js";
13
- import "./chunk-4SHNERBL.js";
12
+ } from "./chunk-VYZGJLCA.js";
13
+ import "./chunk-XIAPY44N.js";
14
14
  import "./chunk-BKALSTBZ.js";
15
15
  import "./chunk-NTM7G2V4.js";
16
- import "./chunk-IROAQ77A.js";
16
+ import "./chunk-3PK3VZHB.js";
17
17
  import "./chunk-F7HLSW6P.js";
18
- import "./chunk-JHMMWNJ2.js";
18
+ import "./chunk-YHAPONWV.js";
19
19
  import "./chunk-LF2KKJ4Q.js";
20
- import "./chunk-A4QJ6ENT.js";
21
- import "./chunk-GOMILC3O.js";
20
+ import "./chunk-W5JXMF2T.js";
21
+ import "./chunk-QBHEI5N4.js";
22
22
  import "./chunk-7DRWULEQ.js";
23
23
  import "./chunk-ULQRUR23.js";
24
24
  import "./chunk-PV7S5DPJ.js";
@@ -2,9 +2,9 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
2
2
  import {
3
3
  hasBlockingFinding,
4
4
  runPreflight
5
- } from "./chunk-ESUNQ5XR.js";
6
- import "./chunk-IROAQ77A.js";
7
- import "./chunk-A4QJ6ENT.js";
5
+ } from "./chunk-E3CFULNX.js";
6
+ import "./chunk-3PK3VZHB.js";
7
+ import "./chunk-W5JXMF2T.js";
8
8
  import "./chunk-J2SJZICO.js";
9
9
  import "./chunk-4E2W63DA.js";
10
10
  import "./chunk-MWRD5YOH.js";
@@ -6,9 +6,9 @@ import {
6
6
  import {
7
7
  hasBlockingFinding,
8
8
  runPreflight
9
- } from "./chunk-ESUNQ5XR.js";
10
- import "./chunk-IROAQ77A.js";
11
- import "./chunk-A4QJ6ENT.js";
9
+ } from "./chunk-E3CFULNX.js";
10
+ import "./chunk-3PK3VZHB.js";
11
+ import "./chunk-W5JXMF2T.js";
12
12
  import "./chunk-7DRWULEQ.js";
13
13
  import "./chunk-J2SJZICO.js";
14
14
  import "./chunk-4E2W63DA.js";
@@ -1,16 +1,16 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  PROJECT_BRIDGE_MARKERS
4
- } from "./chunk-SIOMDAKL.js";
5
- import "./chunk-4SHNERBL.js";
4
+ } from "./chunk-VYZGJLCA.js";
5
+ import "./chunk-XIAPY44N.js";
6
6
  import "./chunk-BKALSTBZ.js";
7
7
  import "./chunk-NTM7G2V4.js";
8
- import "./chunk-IROAQ77A.js";
8
+ import "./chunk-3PK3VZHB.js";
9
9
  import "./chunk-F7HLSW6P.js";
10
- import "./chunk-JHMMWNJ2.js";
10
+ import "./chunk-YHAPONWV.js";
11
11
  import "./chunk-LF2KKJ4Q.js";
12
- import "./chunk-A4QJ6ENT.js";
13
- import "./chunk-GOMILC3O.js";
12
+ import "./chunk-W5JXMF2T.js";
13
+ import "./chunk-QBHEI5N4.js";
14
14
  import "./chunk-7DRWULEQ.js";
15
15
  import "./chunk-ULQRUR23.js";
16
16
  import "./chunk-PV7S5DPJ.js";
@@ -3,16 +3,16 @@ import {
3
3
  GLOBAL_AGENT_SETTINGS_PATH,
4
4
  GLOBAL_USER_SETTINGS_PATH,
5
5
  SETTINGS_FILE
6
- } from "./chunk-SIOMDAKL.js";
7
- import "./chunk-4SHNERBL.js";
6
+ } from "./chunk-VYZGJLCA.js";
7
+ import "./chunk-XIAPY44N.js";
8
8
  import "./chunk-BKALSTBZ.js";
9
9
  import "./chunk-NTM7G2V4.js";
10
- import "./chunk-IROAQ77A.js";
10
+ import "./chunk-3PK3VZHB.js";
11
11
  import "./chunk-F7HLSW6P.js";
12
- import "./chunk-JHMMWNJ2.js";
12
+ import "./chunk-YHAPONWV.js";
13
13
  import "./chunk-LF2KKJ4Q.js";
14
- import "./chunk-A4QJ6ENT.js";
15
- import "./chunk-GOMILC3O.js";
14
+ import "./chunk-W5JXMF2T.js";
15
+ import "./chunk-QBHEI5N4.js";
16
16
  import "./chunk-7DRWULEQ.js";
17
17
  import "./chunk-ULQRUR23.js";
18
18
  import "./chunk-PV7S5DPJ.js";
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  external_exports,
9
9
  settingsSchema
10
- } from "./chunk-4SHNERBL.js";
10
+ } from "./chunk-XIAPY44N.js";
11
11
  import {
12
12
  dump,
13
13
  load
@@ -1,16 +1,16 @@
1
1
  import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
2
2
  import {
3
3
  main
4
- } from "./chunk-SIOMDAKL.js";
5
- import "./chunk-4SHNERBL.js";
4
+ } from "./chunk-VYZGJLCA.js";
5
+ import "./chunk-XIAPY44N.js";
6
6
  import "./chunk-BKALSTBZ.js";
7
7
  import "./chunk-NTM7G2V4.js";
8
- import "./chunk-IROAQ77A.js";
8
+ import "./chunk-3PK3VZHB.js";
9
9
  import "./chunk-F7HLSW6P.js";
10
- import "./chunk-JHMMWNJ2.js";
10
+ import "./chunk-YHAPONWV.js";
11
11
  import "./chunk-LF2KKJ4Q.js";
12
- import "./chunk-A4QJ6ENT.js";
13
- import "./chunk-GOMILC3O.js";
12
+ import "./chunk-W5JXMF2T.js";
13
+ import "./chunk-QBHEI5N4.js";
14
14
  import "./chunk-7DRWULEQ.js";
15
15
  import "./chunk-ULQRUR23.js";
16
16
  import "./chunk-PV7S5DPJ.js";
@@ -8,19 +8,19 @@ import {
8
8
  removeCodexResidentSet,
9
9
  removeListingOverrides,
10
10
  subtract_pointers
11
- } from "./chunk-SIOMDAKL.js";
12
- import "./chunk-4SHNERBL.js";
11
+ } from "./chunk-VYZGJLCA.js";
12
+ import "./chunk-XIAPY44N.js";
13
13
  import "./chunk-BKALSTBZ.js";
14
14
  import "./chunk-NTM7G2V4.js";
15
- import "./chunk-IROAQ77A.js";
15
+ import "./chunk-3PK3VZHB.js";
16
16
  import "./chunk-F7HLSW6P.js";
17
- import "./chunk-JHMMWNJ2.js";
17
+ import "./chunk-YHAPONWV.js";
18
18
  import "./chunk-LF2KKJ4Q.js";
19
- import "./chunk-A4QJ6ENT.js";
19
+ import "./chunk-W5JXMF2T.js";
20
20
  import {
21
21
  removeStagedRuntime,
22
22
  remove_managed_hooks
23
- } from "./chunk-GOMILC3O.js";
23
+ } from "./chunk-QBHEI5N4.js";
24
24
  import "./chunk-7DRWULEQ.js";
25
25
  import "./chunk-ULQRUR23.js";
26
26
  import "./chunk-PV7S5DPJ.js";
@@ -11,9 +11,7 @@ import {
11
11
  } from "./chunk-5VO3RTMV.js";
12
12
  import {
13
13
  lockfile_path,
14
- lockfile_write_path,
15
- read_lockfile,
16
- write_lockfile
14
+ read_lockfile
17
15
  } from "./chunk-LQOCRFWT.js";
18
16
  import {
19
17
  DEFAULT_PROJECT_FILE,
@@ -418,7 +416,7 @@ async function main(argv = null, options = {}) {
418
416
  cache_warmer(latest);
419
417
  }
420
418
  _refresh_state(latest, latest, state_path);
421
- _refresh_global_lockfile(latest, out);
419
+ _report_global_install(latest, out);
422
420
  return 0;
423
421
  }
424
422
  function _relativeToOr(target, base) {
@@ -428,21 +426,19 @@ function _relativeToOr(target, base) {
428
426
  }
429
427
  return rel;
430
428
  }
431
- function _refresh_global_lockfile(version, out) {
432
- const read_path = lockfile_path();
433
- const write_path = lockfile_write_path();
434
- const existing = read_lockfile(read_path);
429
+ function _report_global_install(version, out) {
430
+ const existing = read_lockfile(lockfile_path());
435
431
  if (existing === null) {
436
432
  return;
437
433
  }
438
434
  const recorded = existing["agent_config_version"];
439
- const tools = [...existing.tools ?? []];
440
- if (recorded === version && read_path === write_path) {
441
- _print(out, `\u2139\uFE0F ${write_path} already records ${version}.`);
435
+ if (typeof recorded !== "string" || !_is_newer(version, _normalize(recorded))) {
442
436
  return;
443
437
  }
444
- write_lockfile(version, tools, { path: write_path });
445
- _print(out, `\u2705 Refreshed global lockfile at ${write_path}.`);
438
+ _print(
439
+ out,
440
+ `\u2139\uFE0F The global install is ${_normalize(recorded)}; this pin does not change it. Run \`agent-config upgrade\` to install ${version} globally.`
441
+ );
446
442
  }
447
443
  function _detect_installed_version() {
448
444
  const pkg_json = path.join(resolvePackageRoot(import.meta.url), "package.json");
@@ -3,16 +3,16 @@ import { createRequire as __acCreateRequire } from 'node:module'; const require
3
3
  import {
4
4
  PROJECT_BRIDGE_MARKERS,
5
5
  USER_SCOPE_PATHS
6
- } from "./chunk-SIOMDAKL.js";
7
- import "./chunk-4SHNERBL.js";
6
+ } from "./chunk-VYZGJLCA.js";
7
+ import "./chunk-XIAPY44N.js";
8
8
  import "./chunk-BKALSTBZ.js";
9
9
  import "./chunk-NTM7G2V4.js";
10
- import "./chunk-IROAQ77A.js";
10
+ import "./chunk-3PK3VZHB.js";
11
11
  import "./chunk-F7HLSW6P.js";
12
- import "./chunk-JHMMWNJ2.js";
12
+ import "./chunk-YHAPONWV.js";
13
13
  import "./chunk-LF2KKJ4Q.js";
14
- import "./chunk-A4QJ6ENT.js";
15
- import "./chunk-GOMILC3O.js";
14
+ import "./chunk-W5JXMF2T.js";
15
+ import "./chunk-QBHEI5N4.js";
16
16
  import "./chunk-7DRWULEQ.js";
17
17
  import "./chunk-ULQRUR23.js";
18
18
  import "./chunk-PV7S5DPJ.js";
@@ -1,6 +1,6 @@
1
1
  # Discovery — Deprecation Report
2
2
 
3
- - Generated: `2026-10-22T22:49:04Z`
3
+ - Generated: `2026-10-23T06:28:42Z`
4
4
  - Deprecated artefacts: **0**
5
5
 
6
6
  _None. Tree is clean._
@@ -15041,7 +15041,7 @@
15041
15041
  },
15042
15042
  {
15043
15043
  "category": "subagent",
15044
- "checksum": "sha256:abf676d86791c9cd88e99f983890cf21aad7236743c1b43acad8240ed19544c0",
15044
+ "checksum": "sha256:b78a5024f7961a543bfd9fbadc0a72ee4966741cca5a57a5be2af0e5a2391f2b",
15045
15045
  "install": {
15046
15046
  "default": false,
15047
15047
  "removable": true
@@ -15059,7 +15059,7 @@
15059
15059
  },
15060
15060
  {
15061
15061
  "category": "subagent",
15062
- "checksum": "sha256:2143aae7491f7c1740742005fcbed9baabd2881a66a8d9a3967fa0bbdb98a7a2",
15062
+ "checksum": "sha256:9d8f987dad334230b23294cde2a50153c30c0e601427c45b5b0d5ac69604de9e",
15063
15063
  "install": {
15064
15064
  "default": false,
15065
15065
  "removable": true
@@ -15094,7 +15094,7 @@
15094
15094
  "workspaces": []
15095
15095
  }
15096
15096
  ],
15097
- "checksum": "sha256:adb38936589525c804039b5537a77625ff8ddcaa3ea695bfa0fecb97d9cb1047",
15097
+ "checksum": "sha256:bd2c2d43c509910e8aefc47e34982aa12079b4cc772d9f1380226df82bb2b0e7",
15098
15098
  "deprecations": [
15099
15099
  {
15100
15100
  "key": "tier",
@@ -15243,7 +15243,7 @@
15243
15243
  "reason": "scaffold template for ticket-bundle tickets (ADR-101); carries no runtime frontmatter — emit-tickets fills it in per ticket"
15244
15244
  }
15245
15245
  ],
15246
- "generated_at": "2026-10-22T22:49:04Z",
15246
+ "generated_at": "2026-10-23T06:28:42Z",
15247
15247
  "packs": [
15248
15248
  {
15249
15249
  "artefact_count": 130,
@@ -1 +1 @@
1
- c418d22242229b2cd422df57635e80bd8cd00fafa72d4eefbf303398f848b673 discovery-manifest.json
1
+ 49a3f57527f2284ac399784ab42ecbe4559adbd118178d1da7ffe0c0e1dfe6b8 discovery-manifest.json
@@ -1,6 +1,6 @@
1
1
  # Discovery Manifest — Summary
2
2
 
3
- - Generated: `2026-10-22T22:49:04Z`
3
+ - Generated: `2026-10-23T06:28:42Z`
4
4
  - Scanner: `de0a22b4ac4c`
5
5
  - Artefacts: **636**
6
6
  - Unassigned: **0**
@@ -1,6 +1,6 @@
1
1
  # Discovery — Dormancy Report
2
2
 
3
- - Generated: `2026-10-22T22:49:04Z`
3
+ - Generated: `2026-10-23T06:28:42Z`
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-10-22T22:49:04Z`
3
+ - Generated: `2026-10-23T06:28:42Z`
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:adb38936589525c804039b5537a77625ff8ddcaa3ea695bfa0fecb97d9cb1047",
3
- "generated_at": "2026-10-22T22:49:04Z",
2
+ "checksum": "sha256:bd2c2d43c509910e8aefc47e34982aa12079b4cc772d9f1380226df82bb2b0e7",
3
+ "generated_at": "2026-10-23T06:28:42Z",
4
4
  "packs": [
5
5
  {
6
6
  "always_on": false,
@@ -1,6 +1,6 @@
1
1
  # Discovery — Trust Report
2
2
 
3
- - Generated: `2026-10-22T22:49:04Z`
3
+ - Generated: `2026-10-23T06:28:42Z`
4
4
  - Workspaces tracked: **10**
5
5
  - Human-review-required artefacts: **3**
6
6
 
@@ -1,6 +1,6 @@
1
1
  {
2
- "checksum": "sha256:adb38936589525c804039b5537a77625ff8ddcaa3ea695bfa0fecb97d9cb1047",
3
- "generated_at": "2026-10-22T22:49:04Z",
2
+ "checksum": "sha256:bd2c2d43c509910e8aefc47e34982aa12079b4cc772d9f1380226df82bb2b0e7",
3
+ "generated_at": "2026-10-23T06:28:42Z",
4
4
  "scanner_version": "de0a22b4ac4c",
5
5
  "workspaces": [
6
6
  {