@rubytech/create-maxy-code 0.1.505 → 0.1.507

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 (116) hide show
  1. package/package.json +2 -2
  2. package/payload/platform/config/brand.json +79 -18
  3. package/payload/platform/lib/account-schema-regions/dist/index.d.ts +72 -0
  4. package/payload/platform/lib/account-schema-regions/dist/index.d.ts.map +1 -0
  5. package/payload/platform/lib/account-schema-regions/dist/index.js +115 -0
  6. package/payload/platform/lib/account-schema-regions/dist/index.js.map +1 -0
  7. package/payload/platform/lib/account-schema-regions/package.json +7 -0
  8. package/payload/platform/lib/account-schema-regions/src/index.ts +135 -0
  9. package/payload/platform/lib/account-schema-regions/tsconfig.json +9 -0
  10. package/payload/platform/package.json +3 -3
  11. package/payload/platform/plugins/admin/PLUGIN.md +36 -0
  12. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +105 -17
  13. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +3 -3
  14. package/payload/platform/plugins/admin/skills/whats-new/SKILL.md +13 -0
  15. package/payload/platform/plugins/aeo/PLUGIN.md +3 -0
  16. package/payload/platform/plugins/browser/PLUGIN.md +18 -0
  17. package/payload/platform/plugins/connector/PLUGIN.md +4 -0
  18. package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
  19. package/payload/platform/plugins/docs/references/admin-ui.md +78 -16
  20. package/payload/platform/plugins/docs/references/plugins-guide.md +26 -0
  21. package/payload/platform/plugins/email/PLUGIN.md +17 -0
  22. package/payload/platform/plugins/filesystem/PLUGIN.md +6 -0
  23. package/payload/platform/plugins/google/PLUGIN.md +12 -0
  24. package/payload/platform/plugins/graph/PLUGIN.md +3 -0
  25. package/payload/platform/plugins/graph-viewer/PLUGIN.md +1 -0
  26. package/payload/platform/plugins/ledger/PLUGIN.md +7 -0
  27. package/payload/platform/plugins/memory/PLUGIN.md +41 -0
  28. package/payload/platform/plugins/outlook/PLUGIN.md +24 -0
  29. package/payload/platform/plugins/quickbooks/PLUGIN.md +15 -0
  30. package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
  31. package/payload/platform/plugins/scheduling/PLUGIN.md +10 -0
  32. package/payload/platform/plugins/storage-broker/PLUGIN.md +12 -0
  33. package/payload/platform/plugins/telegram/PLUGIN.md +3 -0
  34. package/payload/platform/plugins/url-get/PLUGIN.md +1 -0
  35. package/payload/platform/plugins/voice-mirror/PLUGIN.md +5 -0
  36. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
  37. package/payload/platform/plugins/work/PLUGIN.md +15 -0
  38. package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
  39. package/payload/platform/scripts/check-no-esm-require.mjs +5 -0
  40. package/payload/platform/scripts/check-risk-class.mjs +145 -0
  41. package/payload/platform/scripts/lib/__pycache__/account-schema-owned-dirs.cpython-314.pyc +0 -0
  42. package/payload/platform/scripts/lib/provision-account-dir.sh +4 -1
  43. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts +1 -1
  44. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js +50 -3
  46. package/payload/platform/services/claude-session-manager/dist/account-dir-schema-reconcile.js.map +1 -1
  47. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  48. package/payload/platform/services/claude-session-manager/dist/http-server.js +4 -0
  49. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  50. package/payload/platform/services/claude-session-manager/dist/index.js +8 -0
  51. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  52. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -0
  53. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  54. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +33 -8
  55. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  56. package/payload/server/{chunk-HN4HFTXE.js → chunk-2WAXM5N2.js} +1504 -1503
  57. package/payload/server/maxy-edge.js +1 -1
  58. package/payload/server/public/activity.html +5 -5
  59. package/payload/server/public/agents.html +4 -4
  60. package/payload/server/public/assets/{AdminLoginScreens-DeWt3H7l.js → AdminLoginScreens-YT7jsh_H.js} +1 -1
  61. package/payload/server/public/assets/{AdminShell-u32d8puE.js → AdminShell-Ckht9hmU.js} +2 -2
  62. package/payload/server/public/assets/{activity-DjP45-DD.js → activity-DH3Wgc3O.js} +1 -1
  63. package/payload/server/public/assets/admin-DetvulAu.js +1 -0
  64. package/payload/server/public/assets/agents-X_IvDHLZ.js +1 -0
  65. package/payload/server/public/assets/{browser-ULvl_K5x.js → browser-Bym8QhfA.js} +1 -1
  66. package/payload/server/public/assets/{calendar-CGMrT6WZ.js → calendar-CFnufJOy.js} +1 -1
  67. package/payload/server/public/assets/chat-wrckyIpw.js +1 -0
  68. package/payload/server/public/assets/chevron-left-Dtk3jEK5.js +1 -0
  69. package/payload/server/public/assets/chevron-right-Dih6IZ8B.js +1 -0
  70. package/payload/server/public/assets/clock-iJCrrmWM.js +1 -0
  71. package/payload/server/public/assets/data-D76--TYs.js +1 -0
  72. package/payload/server/public/assets/{file-text-C5K6DMcK.js → file-text-zch0E1GJ.js} +1 -1
  73. package/payload/server/public/assets/{graph-CO6e1bgD.js → graph-BavHLzpV.js} +2 -2
  74. package/payload/server/public/assets/{graph-labels-iliQjlfE.js → graph-labels-CBwh4g-6.js} +1 -1
  75. package/payload/server/public/assets/{maximize-2-D-64XK6V.js → maximize-2-bTn_Ozpi.js} +1 -1
  76. package/payload/server/public/assets/{operator-DyXgogJ1.js → operator-a4IOwf62.js} +1 -1
  77. package/payload/server/public/assets/page-3T2mE63b.js +1 -0
  78. package/payload/server/public/assets/page-D6M1CmPe.js +32 -0
  79. package/payload/server/public/assets/{public-B9NVDBxW.js → public-B3y_YU1G.js} +1 -1
  80. package/payload/server/public/assets/{rotate-ccw-P35h7ogS.js → rotate-ccw-BGvzNB1b.js} +1 -1
  81. package/payload/server/public/assets/{routines-BeiynLF7.js → routines-C7Dr16am.js} +1 -1
  82. package/payload/server/public/assets/{skills-C5H7ohLp.js → skills-DFeb3XO3.js} +1 -1
  83. package/payload/server/public/assets/tasks-CSfnCKJe.js +1 -0
  84. package/payload/server/public/assets/{time-entry-format-CDhHCMrW.js → time-entry-format-BgZqOOqG.js} +1 -1
  85. package/payload/server/public/assets/{triangle-alert-OgY71rDV.js → triangle-alert-DBJ7xz_t.js} +1 -1
  86. package/payload/server/public/assets/{useCopyFeedback-jOGmWwa3.js → useCopyFeedback-BFOujMl-.js} +1 -1
  87. package/payload/server/public/assets/{useSubAccountSwitcher-6AFuRawP.js → useSubAccountSwitcher-0PfRrN6i.js} +1 -1
  88. package/payload/server/public/assets/useSubAccountSwitcher-BkQ5tA8A.css +1 -0
  89. package/payload/server/public/assets/{useVoiceRecorder-CnE3fhfV.js → useVoiceRecorder-BP6CpYQD.js} +1 -1
  90. package/payload/server/public/assets/{wrench-B1hsCj0R.js → wrench-DdaRhfzS.js} +1 -1
  91. package/payload/server/public/brand/fonts/inter-400.woff2 +0 -0
  92. package/payload/server/public/brand/fonts/inter-500.woff2 +0 -0
  93. package/payload/server/public/brand-defaults.css +47 -4
  94. package/payload/server/public/browser.html +4 -4
  95. package/payload/server/public/calendar.html +7 -7
  96. package/payload/server/public/chat.html +13 -13
  97. package/payload/server/public/data.html +11 -11
  98. package/payload/server/public/graph.html +9 -9
  99. package/payload/server/public/index.html +14 -14
  100. package/payload/server/public/operator.html +14 -14
  101. package/payload/server/public/public.html +13 -13
  102. package/payload/server/public/routines.html +6 -6
  103. package/payload/server/public/skills.html +5 -5
  104. package/payload/server/public/tasks.html +6 -6
  105. package/payload/server/server.js +1991 -1372
  106. package/payload/server/public/assets/admin-Bo-Y6Vjx.js +0 -1
  107. package/payload/server/public/assets/agents-C80aCXd8.js +0 -1
  108. package/payload/server/public/assets/chat-DnWXaWD4.js +0 -1
  109. package/payload/server/public/assets/chevron-left-BB5Iljw-.js +0 -1
  110. package/payload/server/public/assets/chevron-right-DijU96_j.js +0 -1
  111. package/payload/server/public/assets/clock-DsmnhhJh.js +0 -1
  112. package/payload/server/public/assets/data-JPlhOLGC.js +0 -1
  113. package/payload/server/public/assets/page-DrbiAFS-.js +0 -32
  114. package/payload/server/public/assets/page-WeM2ry61.js +0 -1
  115. package/payload/server/public/assets/tasks-CI74_b6H.js +0 -1
  116. package/payload/server/public/assets/useSubAccountSwitcher-AFSwtthL.css +0 -1
@@ -6,12 +6,15 @@ tools:
6
6
  - name: message
7
7
  publicAllowlist: false
8
8
  adminAllowlist: false
9
+ riskClass: external
9
10
  - name: message-history
10
11
  publicAllowlist: false
11
12
  adminAllowlist: false
13
+ riskClass: read
12
14
  - name: telegram-webhook-register
13
15
  publicAllowlist: false
14
16
  adminAllowlist: false
17
+ riskClass: external
15
18
  mcp:
16
19
  command: node
17
20
  args:
@@ -17,6 +17,7 @@ tools:
17
17
  - name: url-get
18
18
  publicAllowlist: false
19
19
  adminAllowlist: true
20
+ riskClass: read
20
21
  always: true
21
22
  embed: false
22
23
  ---
@@ -7,18 +7,23 @@ tools:
7
7
  - name: voice-tag-content
8
8
  publicAllowlist: false
9
9
  adminAllowlist: true
10
+ riskClass: write_local
10
11
  - name: voice-distil-profile
11
12
  publicAllowlist: false
12
13
  adminAllowlist: true
14
+ riskClass: write_local
13
15
  - name: voice-retrieve-conditioning
14
16
  publicAllowlist: false
15
17
  adminAllowlist: false
18
+ riskClass: read
16
19
  - name: voice-record-feedback
17
20
  publicAllowlist: false
18
21
  adminAllowlist: true
22
+ riskClass: write_local
19
23
  - name: voice-ingest-session-text
20
24
  publicAllowlist: false
21
25
  adminAllowlist: true
26
+ riskClass: write_local
22
27
  mcp:
23
28
  command: node
24
29
  args:
@@ -5,39 +5,51 @@ tools:
5
5
  - name: whatsapp-login-start
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: external
8
9
  - name: whatsapp-login-wait
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: external
11
13
  - name: whatsapp-status
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: read
14
17
  - name: whatsapp-disconnect
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: external
17
21
  - name: whatsapp-config
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: write_local
20
25
  - name: whatsapp-activity
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: read
23
29
  - name: whatsapp-conversations
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: read
26
33
  - name: whatsapp-messages
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: read
29
37
  - name: whatsapp-conversation-graph-state
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: read
32
41
  - name: whatsapp-group-info
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: read
35
45
  - name: whatsapp-send-admin
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: external
38
49
  - name: whatsapp-reply
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: external
41
53
  metadata: {"platform":{"embed":["admin"]}}
42
54
  mcp:
43
55
  command: node
@@ -5,48 +5,63 @@ tools:
5
5
  - name: work-create
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: write_local
8
9
  - name: work-update
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: write_local
11
13
  - name: work-list
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: read
14
17
  - name: work-get
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: read
17
21
  - name: work-relate
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: write_local
20
25
  - name: work-complete
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: write_local
23
29
  - name: work-ready
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: read
26
33
  - name: session-list
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: read
29
37
  - name: session-name
30
38
  publicAllowlist: false
31
39
  adminAllowlist: false
40
+ riskClass: write_local
32
41
  - name: session-metering
33
42
  publicAllowlist: false
34
43
  adminAllowlist: false
44
+ riskClass: read
35
45
  - name: project-create
36
46
  publicAllowlist: false
37
47
  adminAllowlist: false
48
+ riskClass: write_local
38
49
  - name: project-list
39
50
  publicAllowlist: false
40
51
  adminAllowlist: false
52
+ riskClass: read
41
53
  - name: project-get
42
54
  publicAllowlist: false
43
55
  adminAllowlist: false
56
+ riskClass: read
44
57
  - name: project-update
45
58
  publicAllowlist: false
46
59
  adminAllowlist: false
60
+ riskClass: write_local
47
61
  - name: project-complete
48
62
  publicAllowlist: false
49
63
  adminAllowlist: false
64
+ riskClass: write_local
50
65
  metadata: {"platform":{"always":false,"embed":[],"pluginKey":"work"}}
51
66
  skills:
52
67
  - skills/execute-task/SKILL.md
@@ -5,27 +5,35 @@ tools:
5
5
  - name: workflow-create
6
6
  publicAllowlist: false
7
7
  adminAllowlist: false
8
+ riskClass: write_local
8
9
  - name: workflow-list
9
10
  publicAllowlist: false
10
11
  adminAllowlist: false
12
+ riskClass: read
11
13
  - name: workflow-get
12
14
  publicAllowlist: false
13
15
  adminAllowlist: false
16
+ riskClass: read
14
17
  - name: workflow-update
15
18
  publicAllowlist: false
16
19
  adminAllowlist: false
20
+ riskClass: write_local
17
21
  - name: workflow-delete
18
22
  publicAllowlist: false
19
23
  adminAllowlist: false
24
+ riskClass: write_local
20
25
  - name: workflow-validate
21
26
  publicAllowlist: false
22
27
  adminAllowlist: false
28
+ riskClass: read
23
29
  - name: workflow-execute
24
30
  publicAllowlist: false
25
31
  adminAllowlist: false
32
+ riskClass: exec
26
33
  - name: workflow-runs
27
34
  publicAllowlist: false
28
35
  adminAllowlist: false
36
+ riskClass: read
29
37
  metadata: {"platform":{"always":false,"embed":[],"pluginKey":"workflows"}}
30
38
  mcp:
31
39
  command: node
@@ -85,6 +85,11 @@ const ALLOWLIST = new Set([
85
85
  // top-level fs/os/path imports initialize), so it requires node builtins
86
86
  // directly there.
87
87
  'platform/ui/server/routes/admin/__tests__/files-scratchpad-download.test.ts',
88
+ // Same vi.hoisted pattern: the files-root-groups test builds a tmp
89
+ // MAXY_PLATFORM_ROOT inside the hoisted block (before the route module's
90
+ // data-path deps read the env at import), so it requires node builtins
91
+ // directly there.
92
+ 'platform/ui/server/routes/admin/__tests__/files-root-groups.test.ts',
88
93
  ])
89
94
 
90
95
  const REQUIRE_CALL_RE = /\brequire\s*\(/
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env node
2
+ // Publish-time gate: flag any `riskClass` declaration that contradicts what the
3
+ // tool's own name says it does.
4
+ //
5
+ // The session manager throws at boot when a riskClass is absent or off-enum
6
+ // (tool-surface.ts 'risk-class-missing' / 'risk-class-invalid'). It cannot
7
+ // catch a class that is present, valid, and wrong — `whatsapp-send` declared
8
+ // `read` parses fine, logs nothing, and stays invisible until a downstream
9
+ // gate acts on it. That is a no-event failure, so it needs a standing check
10
+ // rather than an event.
11
+ //
12
+ // The gate reports; it never rewrites a declaration. A contradiction is
13
+ // resolved either by correcting the manifest or by adding a named exception
14
+ // below with the reason it is not a mistake. An exception whose tool no longer
15
+ // contradicts is itself reported: a suppression that outlives its cause
16
+ // re-creates the blind spot the gate exists to remove.
17
+
18
+ import { readFileSync, readdirSync, statSync, existsSync } from 'node:fs'
19
+ import { dirname, join, resolve } from 'node:path'
20
+ import { fileURLToPath } from 'node:url'
21
+
22
+ const __dirname = dirname(fileURLToPath(import.meta.url))
23
+ const MAXY_CODE_ROOT = resolve(__dirname, '..', '..')
24
+
25
+ const PLUGIN_ROOTS = [
26
+ { root: join(MAXY_CODE_ROOT, 'platform', 'plugins'), depth: 1 },
27
+ { root: join(MAXY_CODE_ROOT, 'premium-plugins'), depth: 1 },
28
+ { root: join(MAXY_CODE_ROOT, 'premium-plugins'), depth: 2, mid: 'plugins' },
29
+ ]
30
+
31
+ // A name that says the call sends something outward, declared as if it stays
32
+ // on the device.
33
+ const OUTWARD_SIGNAL = /-(send|reply|publish|deploy|delete|post)\b/
34
+ const OUTWARD_CONTRADICTS = new Set(['read', 'write_local'])
35
+
36
+ // A name that says the call only looks at something, declared as if it acts.
37
+ const INWARD_SIGNAL = /-(read|list|search|status|info|get)\b/
38
+ const INWARD_CONTRADICTS = new Set(['external', 'exec'])
39
+
40
+ /** Named exceptions. Each entry suppresses exactly one tool+class pair and
41
+ * must carry the reason the name signal is misleading for that tool. */
42
+ const EXCEPTIONS = [
43
+ {
44
+ tool: 'joblogic-job-set-status',
45
+ riskClass: 'external',
46
+ reason: 'The -status suffix reads as a query, but this sets a job status on the remote JobLogic tenant. external is correct and the name signal is what is wrong here.',
47
+ },
48
+ {
49
+ tool: 'memory-delete',
50
+ riskClass: 'write_local',
51
+ reason: 'Soft-deletes a node in the local Neo4j graph. Trashed nodes still resolve by elementId; nothing leaves the device.',
52
+ },
53
+ {
54
+ tool: 'contact-delete',
55
+ riskClass: 'write_local',
56
+ reason: 'Removes a contact from the local graph. No remote address book is touched.',
57
+ },
58
+ {
59
+ tool: 'profile-delete',
60
+ riskClass: 'write_local',
61
+ reason: 'Removes a profile node from the local graph.',
62
+ },
63
+ {
64
+ tool: 'workflow-delete',
65
+ riskClass: 'write_local',
66
+ reason: 'Removes a workflow definition from the local graph. Any run history it produced is untouched.',
67
+ },
68
+ ]
69
+
70
+ function collectPluginDirs() {
71
+ const dirs = []
72
+ for (const spec of PLUGIN_ROOTS) {
73
+ if (!existsSync(spec.root)) continue
74
+ for (const entry of readdirSync(spec.root)) {
75
+ if (entry.startsWith('.')) continue
76
+ const lvl1 = join(spec.root, entry)
77
+ if (!statSync(lvl1).isDirectory()) continue
78
+ if (spec.depth === 1) {
79
+ dirs.push(lvl1)
80
+ continue
81
+ }
82
+ const mid = join(lvl1, spec.mid)
83
+ if (!existsSync(mid) || !statSync(mid).isDirectory()) continue
84
+ for (const sub of readdirSync(mid)) {
85
+ if (sub.startsWith('.')) continue
86
+ const lvl2 = join(mid, sub)
87
+ if (statSync(lvl2).isDirectory()) dirs.push(lvl2)
88
+ }
89
+ }
90
+ }
91
+ return dirs
92
+ }
93
+
94
+ /** Independent of tool-surface.ts on purpose: a gate that shares the parser it
95
+ * is checking cannot detect that parser drifting. */
96
+ function declaredTools(manifestPath) {
97
+ const out = []
98
+ let current = null
99
+ let inTools = false
100
+ for (const line of readFileSync(manifestPath, 'utf8').split(/\r?\n/)) {
101
+ if (/^tools:\s*$/.test(line)) { inTools = true; continue }
102
+ if (inTools && /^[A-Za-z_]/.test(line)) inTools = false
103
+ if (!inTools) continue
104
+ const name = line.match(/^\s+-\s+name:\s*(.+?)\s*$/)
105
+ if (name) { current = name[1]; continue }
106
+ const risk = line.match(/^\s+riskClass:\s*(.+?)\s*$/)
107
+ if (risk && current) { out.push({ tool: current, riskClass: risk[1].trim() }); current = null }
108
+ }
109
+ return out
110
+ }
111
+
112
+ const contradictions = []
113
+ const matchedExceptions = new Set()
114
+ let scanned = 0
115
+
116
+ for (const dir of collectPluginDirs()) {
117
+ const manifest = join(dir, 'PLUGIN.md')
118
+ if (!existsSync(manifest)) continue
119
+ for (const { tool, riskClass } of declaredTools(manifest)) {
120
+ scanned++
121
+ let signal = null
122
+ if (OUTWARD_SIGNAL.test(tool) && OUTWARD_CONTRADICTS.has(riskClass)) signal = 'outward-name'
123
+ if (INWARD_SIGNAL.test(tool) && INWARD_CONTRADICTS.has(riskClass)) signal = 'inward-name'
124
+ if (!signal) continue
125
+ const excepted = EXCEPTIONS.find((e) => e.tool === tool && e.riskClass === riskClass)
126
+ if (excepted) { matchedExceptions.add(`${tool}:${riskClass}`); continue }
127
+ contradictions.push({ tool, riskClass, signal, plugin: dir.replace(`${MAXY_CODE_ROOT}/`, '') })
128
+ }
129
+ }
130
+
131
+ const stale = EXCEPTIONS.filter((e) => !matchedExceptions.has(`${e.tool}:${e.riskClass}`))
132
+
133
+ for (const c of contradictions) {
134
+ console.error(`[risk-class] contradiction tool=${c.tool} declared=${c.riskClass} signal=${c.signal} plugin=${c.plugin}`)
135
+ }
136
+ for (const s of stale) {
137
+ console.error(`[risk-class] stale-exception tool=${s.tool} riskClass=${s.riskClass} — no longer contradicts; remove it from EXCEPTIONS`)
138
+ }
139
+
140
+ if (contradictions.length > 0 || stale.length > 0) {
141
+ console.error(`[gate] check-risk-class: FAIL (${contradictions.length} contradiction(s), ${stale.length} stale exception(s), ${scanned} tools scanned)`)
142
+ process.exit(1)
143
+ }
144
+
145
+ console.log(`[gate] check-risk-class: PASS (${scanned} tools scanned, ${EXCEPTIONS.length} named exception(s))`)
@@ -29,7 +29,10 @@ provision_account_dir() {
29
29
  # Operator-data buckets (entity-anchored, flat) + tool-owned dirs. agents/ and
30
30
  # specialists/ are created above. The seeded SCHEMA.md is the single source of
31
31
  # the allowed top-level set, parsed at runtime by the fs-schema write guard.
32
- local _seed_dirs=(projects contacts documents url-get output generated extracted uploads)
32
+ # `sites` joins the seed set because it is a home bucket in the /data browser
33
+ # (HOME_FIXED); an unseeded home bucket is reported by the standing
34
+ # home-parity audit as missing on every account that has not published a site.
35
+ local _seed_dirs=(projects contacts documents url-get output generated extracted uploads sites)
33
36
  local _d _seeded=0
34
37
  for _d in "${_seed_dirs[@]}"; do
35
38
  [ -d "$ACCOUNT_DIR/$_d" ] || { mkdir -p "$ACCOUNT_DIR/$_d" && _seeded=$((_seeded+1)); }
@@ -15,7 +15,7 @@ export interface ReconcileResult extends ReconcileCounts {
15
15
  /** The single per-run summary line body. A non-zero count is the standing signal
16
16
  * that an agent authored folders the hard guards could not prevent. Pure
17
17
  * formatter so the emitter and its test share one wording. */
18
- export declare function formatReconcileLine(c: ReconcileCounts): string;
18
+ export declare function formatReconcileLine(c: ReconcileCounts, homeMissing?: number, homeUnaudited?: number): string;
19
19
  /** Parse the fenced ```allowed-top-level block from an account's SCHEMA.md —
20
20
  * the same structured set fs-schema-guard.sh parses with awk. Returns the
21
21
  * entry names (blank lines dropped). An absent block yields an empty set. */
@@ -1 +1 @@
1
- {"version":3,"file":"account-dir-schema-reconcile.d.ts","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"AAqFA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;0CAKsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;+DAE+D;AAC/D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAE9D;AAED;;8EAE8E;AAC9E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAcpE;AA+ED;;;8EAG8E;AAC9E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAoCpE;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAED;;;;;;;;;;;;;iCAaiC;AACjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAyBtD;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAED;oDACoD;AACpD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C,yBAAyB,CAiB3B"}
1
+ {"version":3,"file":"account-dir-schema-reconcile.d.ts","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"AAsFA,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD;;;;;0CAKsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;+DAE+D;AAC/D,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,eAAe,EAAE,WAAW,SAAI,EAAE,aAAa,SAAI,GAAG,MAAM,CAGlG;AAED;;8EAE8E;AAC9E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAcpE;AA+ED;;;8EAG8E;AAC9E,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAoCpE;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAyBD;;;;;;;;;;;;;iCAaiC;AACjC,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA+CtD;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;CACb;AAED;oDACoD;AACpD,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,aAAa,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC3C,yBAAyB,CAiB3B"}
@@ -28,6 +28,7 @@
28
28
  // so one bad account never aborts the run.
29
29
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
30
30
  import { join, relative, sep } from 'node:path';
31
+ import { parseSchemaRegions, HOME_FIXED } from '../../../lib/account-schema-regions/dist/index.js';
31
32
  const TAG = '[fs-reconcile]';
32
33
  const QUARANTINE_DIR = '.quarantine';
33
34
  /** Platform control-plane entries the reconcile NEVER counts as strays, regardless
@@ -80,8 +81,9 @@ const FILE_NAME_RE = /^[a-z0-9-]+(\.[a-z0-9-]+)*$/;
80
81
  /** The single per-run summary line body. A non-zero count is the standing signal
81
82
  * that an agent authored folders the hard guards could not prevent. Pure
82
83
  * formatter so the emitter and its test share one wording. */
83
- export function formatReconcileLine(c) {
84
- return `${TAG} stray-top-level=${c.strayTopLevel} over-deep=${c.overDeep} bad-name=${c.badName}`;
84
+ export function formatReconcileLine(c, homeMissing = 0, homeUnaudited = 0) {
85
+ return `${TAG} stray-top-level=${c.strayTopLevel} over-deep=${c.overDeep} bad-name=${c.badName}`
86
+ + ` home-missing=${homeMissing} home-unaudited=${homeUnaudited}`;
85
87
  }
86
88
  /** Parse the fenced ```allowed-top-level block from an account's SCHEMA.md —
87
89
  * the same structured set fs-schema-guard.sh parses with awk. Returns the
@@ -230,6 +232,30 @@ export function reconcileAccount(accountDir) {
230
232
  }
231
233
  return { strayTopLevel: strays.length, overDeep, badName, strayNames: strays };
232
234
  }
235
+ /**
236
+ * Task 1989 — the home buckets this account declares, and which of them are
237
+ * absent from disk. A declared-but-absent bucket renders no card in /data and
238
+ * emits no event of its own, which is why it needs a standing audit rather than
239
+ * a log hung on some action.
240
+ *
241
+ * Returns null when SCHEMA.md is missing or unparseable. That state is already
242
+ * the op=strays line's business, and a second line saying the same thing is
243
+ * noise.
244
+ */
245
+ function homeParity(accountDir) {
246
+ let schemaMd;
247
+ try {
248
+ schemaMd = readFileSync(join(accountDir, 'SCHEMA.md'), 'utf8');
249
+ }
250
+ catch {
251
+ return null;
252
+ }
253
+ const regions = parseSchemaRegions(schemaMd);
254
+ if (!regions.parsed)
255
+ return null;
256
+ const declared = [...regions.ontologyRoots, ...HOME_FIXED].filter((d, i, a) => a.indexOf(d) === i);
257
+ return { declared, missing: declared.filter((d) => !existsSync(join(accountDir, d))) };
258
+ }
233
259
  /** One reconcile pass over every account under the accounts root: one op=strays
234
260
  * line naming the unaccounted-for entries of each account that has any, then the
235
261
  * single summary line. An account is any child dir with an account.json (the
@@ -246,6 +272,14 @@ export function reconcileAccount(accountDir) {
246
272
  * concluding a file is gone. */
247
273
  export function runReconcile(deps) {
248
274
  const total = { strayTopLevel: 0, overDeep: 0, badName: 0 };
275
+ // Task 1989 — per-run total of declared home buckets absent from disk. Zero
276
+ // on the summary line is the positive confirmation that /data's home cards
277
+ // are complete across every account.
278
+ let homeMissing = 0;
279
+ // Accounts whose SCHEMA.md could not be parsed, so nothing about their home
280
+ // buckets was checked. Without this, an install where every account lacks a
281
+ // schema reports home-missing=0 and reads as healthy.
282
+ let homeUnaudited = 0;
249
283
  let entries;
250
284
  try {
251
285
  entries = readdirSync(deps.accountsRoot);
@@ -263,6 +297,19 @@ export function runReconcile(deps) {
263
297
  if (c.strayNames.length > 0) {
264
298
  deps.logger(`${TAG} op=strays account=${entry} names=${c.strayNames.join(',')}`);
265
299
  }
300
+ // Task 1989 — named only when something is missing, mirroring op=strays
301
+ // above. The per-cycle heartbeat is `home-missing=` on the summary line,
302
+ // so a healthy install confirms itself once per cycle instead of once per
303
+ // account.
304
+ const parity = homeParity(accountDir);
305
+ if (!parity)
306
+ homeUnaudited++;
307
+ if (parity && parity.missing.length > 0) {
308
+ deps.logger(`${TAG} op=home-parity account=${entry} declared=${parity.declared.length} ` +
309
+ `onDisk=${parity.declared.length - parity.missing.length} ` +
310
+ `missing=${parity.missing.join(',')}`);
311
+ homeMissing += parity.missing.length;
312
+ }
266
313
  total.strayTopLevel += c.strayTopLevel;
267
314
  total.overDeep += c.overDeep;
268
315
  total.badName += c.badName;
@@ -271,7 +318,7 @@ export function runReconcile(deps) {
271
318
  // best-effort: skip an account that throws unexpectedly
272
319
  }
273
320
  }
274
- deps.logger(formatReconcileLine(total));
321
+ deps.logger(formatReconcileLine(total, homeMissing, homeUnaudited));
275
322
  }
276
323
  /** Standing periodic reconcile. Unref'd interval so it never holds the process
277
324
  * open; each tick re-runs the pass best-effort. */
@@ -1 +1 @@
1
- {"version":3,"file":"account-dir-schema-reconcile.js","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-dir-schema-reconcile.js","sourceRoot":"","sources":["../src/account-dir-schema-reconcile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
@@ -1343,6 +1343,10 @@ export function buildHttpApp(deps) {
1343
1343
  sessionId: row.sessionId,
1344
1344
  live: row.state === 'live',
1345
1345
  status: row.status,
1346
+ // Task 1997 — the account this row belongs to, so an SSE consumer can
1347
+ // scope its fan-out instead of broadcasting install-wide. Already on
1348
+ // the row (Task 1769); it was simply never put on the wire.
1349
+ accountId: row.accountId,
1346
1350
  agentLabel,
1347
1351
  cwd: row.cwd,
1348
1352
  firstPrompt,