@rubytech/create-maxy-code 0.1.72 → 0.1.74
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.
- package/package.json +1 -1
- package/payload/platform/plugins/admin/hooks/__tests__/turn-completed-graph-write.test.sh +4 -1
- package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +2 -3
- package/payload/platform/plugins/docs/references/platform.md +5 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +57 -3
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +17 -44
- package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/references/index.html +0 -7
- package/payload/server/public/assets/admin-DcqVybWZ.js +217 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-umb1qQ5e.js → architectureDiagram-Q4EWVU46-C6vU0NST.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-C8kHw50g.js → blockDiagram-DXYQGD6D-CVaR8-w2.js} +1 -1
- package/payload/server/public/assets/brand-1AQwHifp.css +1 -0
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CtKxKvPu.js → c4Diagram-AHTNJAMY-DnFHlz0P.js} +1 -1
- package/payload/server/public/assets/channel-Ccfjb07z.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-_xUA1Yj-.js → chunk-336JU56O-B6a2-iht.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-d_A8vQqM.js → chunk-426QAEUC-DxIW6EIp.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-BgkVBpN_.js → chunk-4TB4RGXK-Bd_K_Vm8.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-CGOqTZDS.js → chunk-5FUZZQ4R-BrcNLOWO.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-CW78oYeu.js → chunk-5PVQY5BW-VlQyk4ta.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-D_w_ZcbQ.js → chunk-EDXVE4YY-BR-zR5uE.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-MIcdFlwQ.js → chunk-ENJZ2VHE-SZeptTG4.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-BaRHp6jX.js → chunk-ICPOFSXX-CtefGo4C.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-Cgo3QttE.js → chunk-OYMX7WX6-BozNOEbo.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-BVZMJI1z.js → chunk-U2HBQHQK-D96MbvO_.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP-DdgOyRDq.js → chunk-X2U36JSP-gwEYUG8y.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-CO61zu06.js → chunk-YZCP3GAM-DDIFkTtt.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-B3BNOUKS.js → chunk-ZZ45TVLE-C75vepuo.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-Ci-ABevb.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BDQ3yWGx.js +1 -0
- package/payload/server/public/assets/clone-CuYGwTRT.js +1 -0
- package/payload/server/public/assets/{dagre-BY0FcwR1.js → dagre-DwC2Bsrq.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-YvKOR5T0.js → dagre-KV5264BT-DuukLv5C.js} +1 -1
- package/payload/server/public/assets/data-DbNK3_l-.js +1 -0
- package/payload/server/public/assets/{device-url-actions-Cq5VIBKc.js → device-url-actions-DDsULUXs.js} +1 -1
- package/payload/server/public/assets/{diagram-5BDNPKRD-DL3SiNlA.js → diagram-5BDNPKRD-DQWQd3WX.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-C_IwINPH.js → diagram-G4DWMVQ6-DbS_Ih5q.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-vumL8N8U.js → diagram-MMDJMWI5-BFDfdYgV.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-ewBaf58r.js → diagram-TYMM5635-Dp48BsHY.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-kiidRkW3.js → erDiagram-SMLLAGMA-CKA6q8Cy.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-C-1rI_Iw.js → flowDiagram-DWJPFMVM-BVva2cwM.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B_9YdwWh.js → ganttDiagram-T4ZO3ILL-BuzV7Yj-.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-BmwivVe3.js → gitGraphDiagram-UUTBAWPF-B188dI5e.js} +1 -1
- package/payload/server/public/assets/{graph-labels-CZR9j5Ge.js → graph-labels-Cp9MdDRy.js} +1 -1
- package/payload/server/public/assets/graph-yTqw4J01.js +1 -0
- package/payload/server/public/assets/{graphlib-Dvt3mNtm.js → graphlib-D-7uYmP9.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-B2n7mCmp.js → infoDiagram-42DDH7IO-CLvYxjeZ.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-C2ejJadN.js → ishikawaDiagram-UXIWVN3A-B9F97qbc.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BaIXYVwB.js → journeyDiagram-VCZTEJTY-CWg6xF0d.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-B1NCV7hH.js → kanban-definition-6JOO6SKY-CUM2Zro1.js} +1 -1
- package/payload/server/public/assets/{line-BEjGPKWc.js → line-B_dtxHKd.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-DwLM_Bkq.js → mermaid-parser.core-q8nXkWvq.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-BwedTSna.js → mermaid.core-BIZvK8d3.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-D6q_XhF7.js → mindmap-definition-QFDTVHPH-DOl7v8YY.js} +1 -1
- package/payload/server/public/assets/{page-CLr-z4E2.js → page-HcHeXd21.js} +1 -1
- package/payload/server/public/assets/page-Ybq9fvmk.js +50 -0
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-CAKQ-eUh.js → pieDiagram-DEJITSTG-CVFDHS9S.js} +1 -1
- package/payload/server/public/assets/{public-CfVPuA1x.js → public-B_FEURBo.js} +3 -3
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-B8_Xl5p8.js → quadrantDiagram-34T5L4WZ-DIx-sbIM.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-BWSq9eFs.js → requirementDiagram-MS252O5E-C9yrlgJP.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-V3uWSRXp.js → sankeyDiagram-XADWPNL6-Dn2R2x6-.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-DJ_F3-vT.js → sequenceDiagram-FGHM5R23-C9QMqZZw.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-odlwuCTP.js → stateDiagram-FHFEXIEX-DPzHXWge.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CcDXqSsh.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-DXE7m_zC.js → timeline-definition-GMOUNBTQ-gRq4Cvlk.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DEiEepoV.js → vennDiagram-DHZGUBPP-CJGA-zAB.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-CRhVx95h.js → wardleyDiagram-NUSXRM2D-BFS9eK0s.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-9Gv4VNaG.js → xychartDiagram-5P7HB3ND-D5Kqs-jt.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +5 -5
- package/payload/server/public/index.html +7 -7
- package/payload/server/public/public.html +4 -4
- package/payload/server/server.js +5 -2
- package/payload/server/public/assets/admin-Bej-Q1IZ.js +0 -216
- package/payload/server/public/assets/brand-DxX912hX.css +0 -1
- package/payload/server/public/assets/channel-BshbIIpE.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-mzmkY4eP.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-Co3bBdih.js +0 -1
- package/payload/server/public/assets/clone-BRSMOear.js +0 -1
- package/payload/server/public/assets/data-LkSd6fEQ.js +0 -1
- package/payload/server/public/assets/graph-CPXz4A4I.js +0 -1
- package/payload/server/public/assets/page-BBRZF8Z8.js +0 -50
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-DE5qFFDY.js +0 -1
- /package/payload/server/public/assets/{brand-BT-mNX7-.js → brand-lfvUn_r6.js} +0 -0
package/package.json
CHANGED
|
@@ -266,7 +266,10 @@ try:
|
|
|
266
266
|
conds.append(("no-operatorMessage", "operatorMessage" not in msg))
|
|
267
267
|
conds.append(("no-assistantReply", "assistantReply" not in msg))
|
|
268
268
|
conds.append(("outer-specialist", outer.get("specialist") == "database-operator"))
|
|
269
|
-
|
|
269
|
+
# Task 200 — model field is omitted from the spawn body so the
|
|
270
|
+
# database-operator agent frontmatter (claude-sonnet-4-6) is the
|
|
271
|
+
# runtime model. The hard-coded haiku override has been removed.
|
|
272
|
+
conds.append(("outer-no-model-key", "model" not in outer))
|
|
270
273
|
conds.append(("outer-adminSessionId", outer.get("adminSessionId") == op))
|
|
271
274
|
conds.append(("outer-channel", outer.get("channel") == "browser"))
|
|
272
275
|
failed = [name for name, ok in conds if not ok]
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
# graph; the admin agent stays focused on the operator's request.
|
|
6
6
|
#
|
|
7
7
|
# Task 147 — the recorder spawn is byte-for-byte equivalent to a Sidebar
|
|
8
|
-
# "New session" body, with
|
|
8
|
+
# "New session" body, with two overrides:
|
|
9
9
|
# - specialist: "database-operator"
|
|
10
|
-
# - model: "haiku"
|
|
11
10
|
# - initialMessage: JSON-stringified envelope (Task 177)
|
|
11
|
+
# The model is taken from the agent file frontmatter (Task 200).
|
|
12
12
|
#
|
|
13
13
|
# It POSTs to the SAME route the Sidebar uses
|
|
14
14
|
# (`POST /api/admin/claude-sessions`). The wrapper accepts the loopback
|
|
@@ -408,7 +408,6 @@ spawn_body = {
|
|
|
408
408
|
"adminSessionId": sid,
|
|
409
409
|
"channel": "browser",
|
|
410
410
|
"specialist": "database-operator",
|
|
411
|
-
"model": "haiku",
|
|
412
411
|
"initialMessage": filled,
|
|
413
412
|
}
|
|
414
413
|
|
|
@@ -72,7 +72,7 @@ There is no dashboard, no settings panel, no menus. Everything is done through c
|
|
|
72
72
|
|
|
73
73
|
The chat input auto-grows as you type — it expands to fit your message and shrinks back when you delete text. You can also drag the resize handle above the input to set a custom height.
|
|
74
74
|
|
|
75
|
-
The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include subagents" toggle inside the Active view surfaces specialist spawns (the database-operator recorder, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The sidebar's right edge is drag-resizable on every admin page (Sessions root, Graph, and Data): drag the handle to widen or narrow the sidebar, and your chosen width is remembered across reloads and shared across all three pages. The drag handle is mounted by each AdminShell consumer rather than by AdminShell itself, so any new admin route must include `<SidebarSplitter />` as a direct child of its `<AdminShell>` to pick up the shared width. The chat and artefact divider is also drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab /
|
|
75
|
+
The admin interface is a three-pane layout: a sidebar on the left with navigation (Sessions, People, Agents, Projects, Tasks, Artefacts) and your recent conversations; the chat in the middle; and an artefact pane on the right that opens when you select a document, click a project, or open Browser, Data, or Graph from the menu, holding the surface side-by-side with the conversation so the chat stays live while you work in it. At the very top of the sidebar — above the nav rows — a borderless row holds two controls: a "+ New session" button on the left that spawns a fresh Claude Code session, and a Mode trigger on the right showing the current permission mode (Ask, Accept edits, Plan, or Auto). The sidebar's vertical order is: new-session strip first, then the nav (Sessions, People, Agents, Projects, Tasks, Artefacts), then the sessions list, then the footer. Both controls render as plain text-plus-icon affordances with no surrounding rectangle. The "+ New session" button is a text-width hit target — its clickable area is exactly the icon plus label, not the whole row — and shows no hover fill; the only hover feedback is the pointer cursor. The Mode trigger is pushed flush to the right edge of the row. Clicking the Mode trigger opens a popover downward from the row whose header reads "Mode" and lists the four permission modes with the current selection check-marked. The sidebar's nav rows swap the list view in place: Sessions shows recent conversations, Projects shows your active work projects, and Artefacts lists every KnowledgeDocument plus this account's agent templates (your admin agent's IDENTITY, SOUL, and KNOWLEDGE files plus one entry per enabled specialist). Each recent session row carries a three-state indicator: three pulsing dots when the session is busy (currently processing a turn), a solid sage dot when it is idle (live PTY waiting for input), and a hollow ring when it is archived (PTY exited, JSONL on disk for audit). The list itself splits into three views via a segmented control above the rows: **Active** shows every live session, **Archived** shows every JSONL on disk whose PTY has exited, and **All** shows both. The view choice persists across reloads. An "Include subagents" toggle inside the Active view surfaces specialist spawns (the database-operator recorder, premium-plugin agents, anything spawned with a `--agent` flag) which are hidden by default so the list reflects what you started directly. Each row also carries a small uppercase badge — `admin` for operator-driven sessions, the specialist name (for example `db-op`) for background work — so the source of any row is unambiguous at a glance. The People, Agents, and Tasks rows are graph shortcuts: clicking each opens the artefact-pane Graph filtered to every Person, every public Agent, or every Task in your account respectively, with no side-list, because the graph itself is the result. Public agents become first-class graph entities the moment you create them, with edges to their IDENTITY/SOUL/KNOWLEDGE files, edges to every knowledge document they have access to, and edges from every conversation they have handled, so a single Agents click reveals the whole shape of who knows what and who has been talking to whom. Click an artefact row to open the document. KnowledgeDocuments and your admin agent's templates are editable: type in the document and changes save automatically; specialist agent templates are read-only because they ship with Maxy and your edits would be overwritten on the next install. PDF artefacts render inline so you can read them without leaving the pane. If your browser doesn't have a built-in PDF viewer, a Download button appears instead. Artefacts that have no readable file backing them (orphan rows, files removed from disk, unsupported content types) show a one-line banner explaining the skip instead of opening to a blank pane. Click a project row to open the Graph view focused on that project's neighbourhood; clicking a second project swaps the focus rather than stacking on top. The sidebar's right edge is drag-resizable on every admin page (Sessions root, Graph, and Data): drag the handle to widen or narrow the sidebar, and your chosen width is remembered across reloads and shared across all three pages. The drag handle is mounted by each AdminShell consumer rather than by AdminShell itself, so any new admin route must include `<SidebarSplitter />` as a direct child of its `<AdminShell>` to pick up the shared width. The chat and artefact divider is also drag-resizable: drag the line between the columns to make either side wider; double-click it to reset to half of the available width (viewport minus sidebar), clamped to the chat and artefact min-width floors. Your chosen width is remembered across reloads. On wider screens (>1280px) all three panes are visible. The sidebar narrows at 1280px, the artefact pane hides at 1080px (Browser, Data, and Graph then open as full-window pages instead), and the sidebar collapses to a 56px icon rail at 820px. On every viewport the chat header reads left to right as a triptych: a dedicated sidebar toggle (the panel-right icon, which swaps to panel-right-open when the sidebar is showing), the brand mark next to the title in the centre, and the menu burger on the right. This header toggle is the sole sidebar-toggle button; the sidebar itself no longer carries a duplicate. Tap the sidebar toggle to show or hide the sidebar: on phones (<720px) it slides the drawer in or out, on wider screens it collapses or expands the sidebar column. The brand mark in the centre is decorative; clicks go through the dedicated toggle so the affordance is unambiguous. The drawer animation only fires on tap (220ms slide in or out); resizing your window across the 720px boundary snaps the layout without animation, so you never see a half-open flash. At ≤640px the session metadata pane stacks each label above its value instead of the desktop two-column grid, and the row of action buttons (Open in new tab / Download JSONL / View JSONL / Rename / Pin / Archive / End or Purge) collapses behind a single Actions trigger that opens a popover upward from the foot of the pane. Breakpoint summary: >1280px = full sidebar + chat + artefact pane (drag-resizable divider); 1280px→1080px = sidebar narrows; 1080px→820px = artefact pane hides (Browser/Data/Graph open as full-window pages instead); 820px→720px = sidebar collapses to 56px icon rail; ≤720px = sidebar becomes off-canvas drawer (vertical stack of nav, recents list, foot, the same shape as the desktop sidebar, just on top of the chat instead of beside it).
|
|
76
76
|
|
|
77
77
|
Page titles are brand-aware: the browser tab shows your product name (e.g. `Real Agent` instead of `Maxy`) on every shell — chat, graph, and data — so a non-default brand never leaks the default name in tab strips or browser history.
|
|
78
78
|
|
|
@@ -92,6 +92,10 @@ Each session row also carries a small muted timestamp crumb under the name showi
|
|
|
92
92
|
|
|
93
93
|
**Stop vs. delete.** `POST /<id>/stop` sends SIGTERM, leaves the JSONL on disk for audit, and is idempotent against an already-dead row. `DELETE /<id>` removes the JSONL + per-session subdir and returns 409 if the PTY is still alive (stop first). Any unknown id returns 404; nothing returns a silent 204 against an id the manager does not know.
|
|
94
94
|
|
|
95
|
+
**View JSONL (Task 198).** Alongside the Download button, the pane carries a **View JSONL** button that opens a full-pane modal streaming the transcript in-app from `GET /<id>/log?follow=1`. The modal is the canonical surface for reading transcripts inside the admin UI — Download remains the export route for offline / external tooling. The viewer renders one row per line, collapsed by default to a role badge plus a 200-char preview; click a row to expand into the pretty-printed JSON, click again to collapse, or click the copy icon to copy the raw line bytes (round-trip integrity preserved — no re-stringify). A search input filters visible rows by case-insensitive substring match against the line's JSON; the stream keeps landing in the backing list regardless of filter state. For live sessions (`status: 'alive'`) the modal tails new lines as they're written; for ended sessions it renders the initial-read flush and then idles. The status pill in the footer reflects the live session status (alive → "streaming", ended → "complete"), not the underlying stream state — keeps the operator's mental model aligned with the pane's other indicators even though the manager's `/log?follow=1` keeps the underlying watcher open until aborted. Malformed lines (`JSON.parse` failure) render inline as a `parse-error` row with the raw text and the failure reason; the stream continues. The backing list caps at 50,000 entries (ring buffer with eldest-drop); past the cap, the header reads "N older dropped" — the cap protects browser memory on multi-day database-operator sessions where the JSONL can grow to tens of thousands of lines. Closing the modal (X button, overlay click, or Escape) aborts the fetch (`AbortController.abort()`) which propagates to the manager's `out.onAbort` and releases the `watchFile` listener. Observability: the manager emits `[claude-session-manager] log-follow-open sessionId=<sid> initialBytes=<n> pid=<n>` when the stream opens (after the initial-read flush) and `log-follow-close sessionId=<sid> reason=aborted linesStreamed=<n> ms=<n>` when it closes — `linesStreamed` counts `\n` bytes written across both initial-read and tail, matching `wc -l`. The browser console mirrors with `[admin-ui] jsonl-viewer-open sessionId=<8> alive=<bool>` on mount and `[admin-ui] jsonl-viewer-close sessionId=<8> reason=unmount linesRendered=<n> ms=<n>` on unmount, plus `[admin-ui] jsonl-viewer parse-error sessionId=<8> lineNumber=<n>` once per malformed line (capped at 100/session to avoid console flood). Auth is unchanged — the existing `requireAdminSession` middleware covers `/log?follow=1` exactly as it already does for `/log?download=1`.
|
|
96
|
+
|
|
97
|
+
**Download JSONL (Task 197).** `GET /<id>/log?download=1` is a one-shot byte-stream of the session's JSONL transcript with attachment-disposition headers, designed for the pane's **Download JSONL** button. Headers: `Content-Type: application/x-ndjson`, `Content-Disposition: attachment; filename="<sessionId>.jsonl"` (the basename is sanitised so any non-`[A-Za-z0-9._-]` character is replaced with underscore), `Cache-Control: no-store`. Four status branches: **200** with the byte-identical file body; **404** `{error: 'session-not-found'}` when the store has no row for the id; **202** `{pending: true, jsonlPath: null}` when the row exists but claude has not flushed the first turn yet; **404** `{error: 'jsonl-missing-on-disk'}` when the row carries a `jsonlPath` but the file has been removed under the manager (post-Purge race). The download branch is declared **before** the follow check, so `?download=1` always wins over `?follow=1` if both are set. The proxy at `app.get('/:sessionId/log')` rebuilds the upstream query from a fixed `follow|download` allowlist; inbound query keys outside that allowlist are dropped. Observability: `[claude-session-manager] log-download sessionId=<sid> bytes=<n> ms=<n>` lands per successful stream completion; the browser console emits `[admin-ui] pane-download-jsonl sessionId=<8> outcome=initiated` on click. `outcome=initiated` rather than `outcome=ok` is intentional — the handler resolves before the browser writes the bytes, so the log line names "the request was kicked off", not "the file landed". If the file does not appear in the operator's downloads folder, check the manager line for the bytes count and the browser's downloads UI for the suppression record. Auth is unchanged from the rest of the `/api/admin/claude-sessions` surface (cookie session via `requireAdminSession`); there is no new key surface.
|
|
98
|
+
|
|
95
99
|
**PTY lifecycle contract (Tasks 170 + 176).** A PTY reaches its end via one of two branches: **operator-request** (operator clicks End or the auto-archive Stop hook calls `stopSession`) or **natural-exit** (the claude child exits on its own — operator typed `/quit`, SIGINT in the PTY, crash, network drop on `--remote-control`). Both branches honour a single invariant: the pty master file descriptor is released by an explicit `pty.destroy()` and the SessionStore row is removed before the next `/list` or `/events` tick. Without the explicit destroy, the master fd lingers in node-pty's internal socket until V8 GC finalises the IPty object — non-deterministic and accumulates under load until the kernel pty cap (Linux 3072, macOS 511) refuses new spawns. Without the explicit row removal, the manager shutdown loop SIGTERMs PIDs that already logged `process-exited`, masking the leak only because the manager restarts every few hours. When both branches fire on the same exit (operator clicks End and node-pty's `onExit` fans out the SIGTERM to both listeners), a per-row `fdReleased` flag short-circuits the second branch so `pty.destroy()` runs exactly once on the live socket — without the flag, the second call throws "socket already destroyed" and the operator-request line would falsely log `master-fd=close-failed`. If the first branch's destroy throws and is rescued, the flag stays unset and the second branch retries (defense in depth). Every `kill … pid=<n>` log line carries a `master-fd=closed` suffix (or `master-fd=close-failed err=<msg>` on the rescued throw branch — a graceful degradation so a corner-case socket-state failure cannot turn a logically-successful exit into a 500); the operator-request line additionally identifies `reason=operator-request`, the natural-exit line identifies `reason=process-exited`. Both branches are verified by the `stop-session-fd-release` and `endpoint-stop-delete` integration tests (operator-request live and already-exited cycles + natural-exit cycle + throw-then-retry coordination, Linux kernel-level ptmx fd accounting on each).
|
|
96
100
|
|
|
97
101
|
The metadata pane subscribes to the same /list projection. When an operator clicks End on an alive row, the DELETE returns 200 and the post-mutation refetch decides what happens next: a session that wrote a JSONL surfaces as a dehydrated `status: 'ended'` row (the pane swaps `End session` for `Purge JSONL` plus `Resume`), and a session that never wrote a JSONL (`Turns: 0`) leaves the list entirely (the pane shows a `Session ended without a transcript. Close this pane.` banner with a Close button and no destructive action). The manager's `/list` and `/meta` are the only authorities on post-End state; the client does not pre-empt either response with an optimistic mutation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAA0E,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIzH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAoB3D;4CAC4C;AAC5C,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA0ED,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACvF,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;CAC/B;AAwHD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACrD,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"http-server.d.ts","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,KAAK,EAAE,YAAY,EAAiB,MAAM,oBAAoB,CAAA;AACrE,OAAO,EAA0E,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIzH,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAoB3D;4CAC4C;AAC5C,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AA0ED,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACvF,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,SAAS,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,kBAAkB,EAAE,WAAW,CAAA;IAC/B,eAAe,EAAE,aAAa,CAAA;CAC/B;AAwHD;;;kEAGkE;AAClE,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,2BAA2B,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACrD,CAAA;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAm3BpD"}
|
|
@@ -948,7 +948,35 @@ export function buildHttpApp(deps) {
|
|
|
948
948
|
return c.json({ jsonlPath: null, exists: false, sizeBytes: 0, pending: true }, 202);
|
|
949
949
|
}
|
|
950
950
|
const jsonlPath = s.jsonlPath;
|
|
951
|
+
const download = c.req.query('download') === '1';
|
|
951
952
|
const follow = c.req.query('follow') === '1';
|
|
953
|
+
// Task 197 — `?download=1` short-circuits before the JSON-metadata branch
|
|
954
|
+
// so the browser receives the raw NDJSON bytes with attachment-disposition
|
|
955
|
+
// headers. The non-follow JSON branch's "file gone, sizeBytes:0" answer is
|
|
956
|
+
// correct for metadata but would silently save an empty file to the
|
|
957
|
+
// operator's Downloads folder; refuse with a loud 404 instead.
|
|
958
|
+
if (download) {
|
|
959
|
+
if (!existsSync(jsonlPath)) {
|
|
960
|
+
timed(deps.logger, 'GET', `/${id}/log?download=1`, 404, Date.now() - start);
|
|
961
|
+
return c.json({ error: 'jsonl-missing-on-disk' }, 404);
|
|
962
|
+
}
|
|
963
|
+
const sizeBytes = statSync(jsonlPath).size;
|
|
964
|
+
// RFC 6266 quoted-string. The sessionId arrives URL-decoded from the
|
|
965
|
+
// route param; replace any character outside the safe charset so a
|
|
966
|
+
// quote or newline cannot terminate the header early.
|
|
967
|
+
const safeName = sessionId.replace(/[^A-Za-z0-9._-]/g, '_');
|
|
968
|
+
c.header('Content-Type', 'application/x-ndjson');
|
|
969
|
+
c.header('Content-Disposition', `attachment; filename="${safeName}.jsonl"`);
|
|
970
|
+
c.header('Cache-Control', 'no-store');
|
|
971
|
+
timed(deps.logger, 'GET', `/${id}/log?download=1`, 200, Date.now() - start);
|
|
972
|
+
return stream(c, async (out) => {
|
|
973
|
+
const reader = createReadStream(jsonlPath);
|
|
974
|
+
for await (const chunk of reader) {
|
|
975
|
+
await out.write(chunk);
|
|
976
|
+
}
|
|
977
|
+
deps.logger(`log-download sessionId=${sessionId} bytes=${sizeBytes} ms=${Date.now() - start}`);
|
|
978
|
+
});
|
|
979
|
+
}
|
|
952
980
|
if (!follow) {
|
|
953
981
|
const exists = existsSync(jsonlPath);
|
|
954
982
|
const sizeBytes = exists ? statSync(jsonlPath).size : 0;
|
|
@@ -956,19 +984,41 @@ export function buildHttpApp(deps) {
|
|
|
956
984
|
return c.json({ jsonlPath, exists, sizeBytes }, 200);
|
|
957
985
|
}
|
|
958
986
|
timed(deps.logger, 'GET', `/${id}/log?follow=1`, 200, Date.now() - start);
|
|
987
|
+
// Task 198 — open/close lifecycle lines bracket every follow stream so
|
|
988
|
+
// the in-browser viewer's session is observable on the manager side.
|
|
989
|
+
// `linesStreamed` counts `\n` bytes written across initial-read + tail, so
|
|
990
|
+
// the value matches the operator's `wc -l` mental model. `closeReason`
|
|
991
|
+
// defaults to `end` (unreachable today; reserved for a future natural-EOF
|
|
992
|
+
// path such as file-deleted-mid-stream) and flips to `aborted` whenever
|
|
993
|
+
// `out.onAbort` fires — that single hook covers both browser-initiated
|
|
994
|
+
// abort and network disconnect, which the server cannot distinguish.
|
|
995
|
+
const followStreamStart = Date.now();
|
|
959
996
|
return stream(c, async (out) => {
|
|
960
997
|
let position = 0;
|
|
998
|
+
let linesStreamed = 0;
|
|
999
|
+
let closeReason = 'end';
|
|
1000
|
+
const countNewlines = (buf) => {
|
|
1001
|
+
let n = 0;
|
|
1002
|
+
for (let i = 0; i < buf.length; i++)
|
|
1003
|
+
if (buf[i] === 0x0a)
|
|
1004
|
+
n++;
|
|
1005
|
+
return n;
|
|
1006
|
+
};
|
|
961
1007
|
if (existsSync(jsonlPath)) {
|
|
962
1008
|
const initialSize = statSync(jsonlPath).size;
|
|
963
1009
|
const head = createReadStream(jsonlPath, { start: 0, end: Math.max(0, initialSize - 1) });
|
|
964
1010
|
for await (const chunk of head) {
|
|
965
|
-
|
|
1011
|
+
const buf = chunk;
|
|
1012
|
+
linesStreamed += countNewlines(buf);
|
|
1013
|
+
await out.write(buf);
|
|
966
1014
|
}
|
|
967
1015
|
position = initialSize;
|
|
968
1016
|
}
|
|
1017
|
+
deps.logger(`log-follow-open sessionId=${sessionId} initialBytes=${position} pid=${s.pid ?? 'null'}`);
|
|
969
1018
|
let active = true;
|
|
970
1019
|
out.onAbort(() => {
|
|
971
1020
|
active = false;
|
|
1021
|
+
closeReason = 'aborted';
|
|
972
1022
|
unwatchFile(jsonlPath);
|
|
973
1023
|
});
|
|
974
1024
|
const listener = () => {
|
|
@@ -982,14 +1032,18 @@ export function buildHttpApp(deps) {
|
|
|
982
1032
|
const tail = createReadStream(jsonlPath, { start: position, end: newSize - 1 });
|
|
983
1033
|
position = newSize;
|
|
984
1034
|
tail.on('data', (chunk) => {
|
|
985
|
-
if (active)
|
|
986
|
-
|
|
1035
|
+
if (active) {
|
|
1036
|
+
const buf = chunk;
|
|
1037
|
+
linesStreamed += countNewlines(buf);
|
|
1038
|
+
void out.write(buf);
|
|
1039
|
+
}
|
|
987
1040
|
});
|
|
988
1041
|
};
|
|
989
1042
|
watchFile(jsonlPath, { interval: 250 }, listener);
|
|
990
1043
|
while (active) {
|
|
991
1044
|
await new Promise((resolve) => setTimeout(resolve, 1_000));
|
|
992
1045
|
}
|
|
1046
|
+
deps.logger(`log-follow-close sessionId=${sessionId} reason=${closeReason} linesStreamed=${linesStreamed} ms=${Date.now() - followStreamStart}`);
|
|
993
1047
|
});
|
|
994
1048
|
});
|
|
995
1049
|
app.get('/healthz', (c) => c.json({ ok: true, sessions: deps.store.size() }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,54 +1,30 @@
|
|
|
1
1
|
# Head of Operations
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Prime Directives
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
1. **Be precise.** Every claim has a source: a tool result, a log line, a file you read. No "likely", no "appears to".
|
|
5
|
+
1. **Be precise.** Every claim has a source: a memory search, a tool result, a log line, a file you read.
|
|
8
6
|
2. **Be concise.** Three sentences or fewer. If you cannot answer in three, ask in five words.
|
|
9
|
-
3. **Show your evidence.** Gather evidence before forming a hypothesis.
|
|
10
|
-
|
|
11
|
-
## What you must know about the operator
|
|
7
|
+
3. **Show your evidence.** Gather evidence before forming a hypothesis. Never speculate.
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
## Your role
|
|
14
10
|
|
|
15
|
-
|
|
11
|
+
You are the head of operations, chief of staff, and private secretary for the operator. Everything you do must have a productive outcome. You must always seek information that can be turned into knowledge, especially about the operator.
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
## Before you act
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
You may not act on a request until you know three things: what is being asked, what is in scope and what is out of scope, and what rules apply for this specific task. When the owner's words are precise, all three are obvious. Act. When any of the three is imprecise, stop and ask for clarification. You must insist on the operator being precise and concise.
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
## Information Gathering
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
- **Property socials** is bounded by an existing brochure folder for the property at `estate-agents/<agent>/properties/<slug>/` (the output of the Brochure pillar).
|
|
25
|
-
- **Preval production** is bounded by one operator-supplied field — the property's full UK address. The postcode is derived from the address; the comparable-data source is inferred (the `property-data` MCP, gated on a registered PropertyData API key); subject-property floor area in m², current energy rating, and lodgement date are operator-pasted into `inputs.json` from the EPC certificate before invocation (no MCP fan-out for EPC).
|
|
26
|
-
- **Local market report** is bounded by the operator's agency DESIGN tokens path (`estate-agents/<agent>/DESIGN.md`) and a market-data source (paste-in dict, PropertyData credentials, or the `property-data` MCP when present).
|
|
27
|
-
- **Loop CRM management** is bounded by a registered Loop team key on the account and the operator's relationship to the contact under discussion (vendor, buyer, or portal source).
|
|
19
|
+
Quality of work is bounded by what you know about the operator. The `<about-owner>` block in your system prompt names what is currently known — a single prose line, or the literal token `NOTHING` when nothing has been learned yet. Treat that line as the starting state, not the final state.
|
|
28
20
|
|
|
29
|
-
|
|
21
|
+
You must seek to maximise what you know about the operator in order to operate effectively. There is no limit to what you can learn about the operator and effectiveness scales exponentially with knowledge.
|
|
30
22
|
|
|
31
23
|
Information gathering is continuous; it interleaves with execution rather than gating later turns. Everything you learn in conversation is recorded for you by a background agent that watches every completed turn. You do not write to the graph yourself. Ask, listen, and act on what you have already been told; the recording is taken care of.
|
|
32
24
|
|
|
33
|
-
## About the owner
|
|
34
|
-
|
|
35
|
-
Remote access and public-facing channels are optional. Cloudflare Tunnel exposes the platform on a custom domain; WhatsApp, Telegram, and email reach the owner without one. If none is set up, explain each briefly when the conversation surfaces a need, and offer to assist. The execution paths are `setup-tunnel` (Cloudflare), the WhatsApp pairing flow, and the Telegram channel plugin.
|
|
36
|
-
|
|
37
|
-
When the owner declines an offer, record the decline as a property on `Person` (e.g. `preferences.declinedRemoteAccess: true`) so you do not re-ask.
|
|
38
|
-
|
|
39
|
-
## Before you act
|
|
40
|
-
|
|
41
|
-
You may not act on a request until you know three things: what is being asked, what is in scope and what is out of scope, and what rules apply for this specific task. When the owner's words are precise, all three are obvious. Act. When any of the three needs a guess, stop and ask one question. The conversation chain is the first place to look for context, not the last.
|
|
42
|
-
|
|
43
|
-
A standing-offer pillar whose required operator-profile fields are absent in the graph is not actionable; the contract under `## Information gathering` applies and the gap-closing question precedes the offer.
|
|
44
|
-
|
|
45
|
-
## Your role
|
|
46
|
-
|
|
47
|
-
You are the head of operations, chief of staff, and private secretary. Turn every conversation into one precise action: cut the vagueness, find the signal, name it.
|
|
48
|
-
|
|
49
25
|
## How you sound
|
|
50
26
|
|
|
51
|
-
You are an AI. Say so if asked. Never pretend to be a human. Speak British English. Plain hyphens, straight quotes, three periods, no emoji. Every link in a reply is a markdown link in the form `[label](url)`, never a raw URL. Tool names, MCP prefixes, task numbers, doctrine names, and error codes belong in your reasoning, not in user-facing replies. Translate them into plain English.
|
|
27
|
+
Always greet the operator appropriately, according to the time of day. You are an AI. Say so if asked. Never pretend to be a human. Speak British English. Plain hyphens, straight quotes, three periods, no emoji. Every link in a reply is a markdown link in the form `[label](url)`, never a raw URL. Tool names, MCP prefixes, task numbers, doctrine names, and error codes belong in your reasoning, not in user-facing replies. Translate them into plain English.
|
|
52
28
|
|
|
53
29
|
## Two files to read at session start
|
|
54
30
|
|
|
@@ -65,23 +41,20 @@ The platform injects two blocks into your system prompt every turn. `<specialist
|
|
|
65
41
|
|
|
66
42
|
`ToolSearch` is a last resort for tools that no block names. Prefer admitting ignorance over discovering. Never reconstruct a skill's steps from memory: if the skill exists, load it.
|
|
67
43
|
|
|
68
|
-
## When a tool returns an error
|
|
69
|
-
|
|
70
|
-
Acknowledge the failure first: name what you tried, what the error said, and what the `[tool-failure-diag]` line shows. Do not retry the same tool on the same target inside one turn; a second identical failure is evidence the path is broken, not that another attempt is warranted. When the error message starts with an UPPERCASE code, the platform has already decided that retry will fail; tell the owner what failed, why, and what they can do. Do not silently call a different tool to continue the original instruction. When an error envelope carries values the platform has already gathered (under names like `inputsAlreadyHeld` or `discoveryResults`), those values are correct; repeat them, never re-ask the owner for them.
|
|
71
|
-
|
|
72
44
|
## Asking questions
|
|
73
45
|
|
|
74
46
|
Every question the agent asks — confirmation, disambiguation, or information-gathering — is one-sided. *"Proceed?"* is usable; *"Proceed, or stop?"* is not, because a "yes" carries no signal. The rule has no exemptions: opening questions, follow-up questions, and clarifying questions all share the same shape. One question per response; it is the final sentence.
|
|
75
47
|
|
|
48
|
+
## When a tool returns an error
|
|
49
|
+
|
|
50
|
+
Acknowledge the failure first: name what you tried, what the error said, and what the `[tool-failure-diag]` line shows. Do not retry the same tool on the same target inside one turn; a second identical failure is evidence the path is broken, not that another attempt is warranted. When the error message starts with an UPPERCASE code, the platform has already decided that retry will fail; tell the owner what failed, why, and what they can do. Do not silently call a different tool to continue the original instruction. When an error envelope carries values the platform has already gathered (under names like `inputsAlreadyHeld` or `discoveryResults`), those values are correct; repeat them, never re-ask the owner for them.
|
|
51
|
+
|
|
76
52
|
## Tool rules
|
|
77
53
|
|
|
78
54
|
- Always `Read` a file before `Edit` or overwriting it with `Write`. A brand-new file does not need a prior read.
|
|
79
55
|
- Your working directory is `$ACCOUNT_DIR`. `Read`, `Grep`, `Glob` are free inside it. `Write` and `Edit` only go inside it.
|
|
80
56
|
- Bundled plugin skills load with `skill-load`, not with `Read` against disk paths.
|
|
81
|
-
- The `# SCHEMA` block in your system prompt is the source of truth for Neo4j labels and edges. Do not invent edges from memory. If the block looks stale, call `maxy-graph-get_neo4j_schema`.
|
|
82
57
|
|
|
83
|
-
##
|
|
58
|
+
## Access
|
|
84
59
|
|
|
85
|
-
-
|
|
86
|
-
- **Resuming the thread.** After a self-contained sub-flow (identity repair, schema audit, attachment unzip), the conversation history still holds the owner's earlier request. Name what they were asking and pick it back up yourself. Never ask the owner to restate.
|
|
87
|
-
- **Dormant capabilities.** If the operator describes work a dormant plugin would do automatically, offer to enable it. Maximum one nudge per plugin per session.
|
|
60
|
+
Remote access and public-facing channels are optional. Cloudflare Tunnel exposes the platform on a custom domain; WhatsApp, Telegram, and email reach the owner without one. If none is set up, explain each briefly when the conversation surfaces a need, and offer to assist. When the owner declines an offer, record the decline as a property on `Person` (e.g. `preferences.declinedRemoteAccess: true`) so you do not re-ask.
|
|
@@ -52,13 +52,6 @@
|
|
|
52
52
|
prompted this note). When referring to the inline REPLACE markers, use
|
|
53
53
|
prose ("REPLACE comment block") not the literal delimiter pair.
|
|
54
54
|
════════════════════════════════════════════════════════════════════════════
|
|
55
|
-
-->"
|
|
56
|
-
would terminate this outer comment early and the rest of these
|
|
57
|
-
instructions would render as visible text on the live page (the bug that
|
|
58
|
-
prompted this note). When referring to the inline REPLACE markers, use
|
|
59
|
-
prose ("REPLACE: comment block") not the literal "<!- - REPLACE: ... - ->"
|
|
60
|
-
delimiter pair.
|
|
61
|
-
════════════════════════════════════════════════════════════════════════════
|
|
62
55
|
-->
|
|
63
56
|
<html lang="en-GB">
|
|
64
57
|
<head>
|