sensorium-mcp 3.1.2 → 3.1.3-board.10
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/Install-Sensorium.ps1 +257 -43
- package/README.md +2 -0
- package/dist/board/api/api.js +84 -0
- package/dist/board/api/api.test.ts +23 -0
- package/dist/board/api/client.js +113 -0
- package/dist/board/components/BottomNav.js +32 -0
- package/dist/board/components/Card.js +78 -0
- package/dist/board/components/Combobox.js +79 -0
- package/dist/board/components/CommentComposer.js +29 -0
- package/dist/board/components/CommentList.js +42 -0
- package/dist/board/components/DirTreePicker.js +128 -0
- package/dist/board/components/Dropdown.js +67 -0
- package/dist/board/components/Lane.js +47 -0
- package/dist/board/components/PriorityChip.js +20 -0
- package/dist/board/components/ProfileSummary.js +89 -0
- package/dist/board/components/StateBanner.js +24 -0
- package/dist/board/components/StatusChip.js +26 -0
- package/dist/board/components/rateLimit.js +32 -0
- package/dist/board/components/rateLimit.test.ts +16 -0
- package/dist/board/components/time.js +14 -0
- package/dist/board/config.js +56 -0
- package/dist/board/index.html +18 -0
- package/dist/board/main.js +37 -0
- package/dist/board/mock/api.mock.js +491 -0
- package/dist/board/mock/api.mock.test.ts +460 -0
- package/dist/board/mock/fixtures.js +512 -0
- package/dist/board/schema/policy.js +261 -0
- package/dist/board/state/recur.js +24 -0
- package/dist/board/state/recur.test.ts +24 -0
- package/dist/board/state/useBoard.js +161 -0
- package/dist/board/state/useBuilder.js +357 -0
- package/dist/board/state/useBuilder.test.ts +468 -0
- package/dist/board/state/useCard.js +193 -0
- package/dist/board/state/useCard.test.ts +435 -0
- package/dist/board/state/useDirBrowser.js +23 -0
- package/dist/board/styles/board.css +2885 -0
- package/dist/board/styles/tokens.css +72 -0
- package/dist/board/vendor/vue.esm-browser.js +9 -0
- package/dist/board/views/App.js +61 -0
- package/dist/board/views/BoardView.js +153 -0
- package/dist/board/views/BuilderView.js +582 -0
- package/dist/board/views/CardView.js +382 -0
- package/dist/board/views/SettingsView.js +152 -0
- package/dist/config/agent-settings.d.ts +11 -0
- package/dist/config/agent-settings.d.ts.map +1 -1
- package/dist/config/agent-settings.js +79 -0
- package/dist/config/agent-settings.js.map +1 -1
- package/dist/config/detail-grant.d.ts +7 -16
- package/dist/config/detail-grant.d.ts.map +1 -1
- package/dist/config/detail-grant.js +12 -35
- package/dist/config/detail-grant.js.map +1 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +17 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/mcp-settings.d.ts +7 -1
- package/dist/config/mcp-settings.d.ts.map +1 -1
- package/dist/config/mcp-settings.js +9 -0
- package/dist/config/mcp-settings.js.map +1 -1
- package/dist/config/misc-settings.d.ts +22 -1
- package/dist/config/misc-settings.d.ts.map +1 -1
- package/dist/config/misc-settings.js +93 -3
- package/dist/config/misc-settings.js.map +1 -1
- package/dist/config/operator-grant.d.ts +9 -0
- package/dist/config/operator-grant.d.ts.map +1 -0
- package/dist/config/operator-grant.js +24 -0
- package/dist/config/operator-grant.js.map +1 -0
- package/dist/config/voice-grant.d.ts +10 -0
- package/dist/config/voice-grant.d.ts.map +1 -0
- package/dist/config/voice-grant.js +18 -0
- package/dist/config/voice-grant.js.map +1 -0
- package/dist/dashboard/board-static.d.ts +22 -0
- package/dist/dashboard/board-static.d.ts.map +1 -0
- package/dist/dashboard/board-static.js +130 -0
- package/dist/dashboard/board-static.js.map +1 -0
- package/dist/dashboard/presets.d.ts +1 -1
- package/dist/dashboard/presets.d.ts.map +1 -1
- package/dist/dashboard/presets.js +1 -1
- package/dist/dashboard/presets.js.map +1 -1
- package/dist/dashboard/routes/agent-templates.d.ts.map +1 -1
- package/dist/dashboard/routes/agent-templates.js +6 -9
- package/dist/dashboard/routes/agent-templates.js.map +1 -1
- package/dist/dashboard/routes/board-body.d.ts +8 -0
- package/dist/dashboard/routes/board-body.d.ts.map +1 -0
- package/dist/dashboard/routes/board-body.js +20 -0
- package/dist/dashboard/routes/board-body.js.map +1 -0
- package/dist/dashboard/routes/board-dir-listing.d.ts +70 -0
- package/dist/dashboard/routes/board-dir-listing.d.ts.map +1 -0
- package/dist/dashboard/routes/board-dir-listing.js +192 -0
- package/dist/dashboard/routes/board-dir-listing.js.map +1 -0
- package/dist/dashboard/routes/board-lane-groups.d.ts +6 -0
- package/dist/dashboard/routes/board-lane-groups.d.ts.map +1 -0
- package/dist/dashboard/routes/board-lane-groups.js +52 -0
- package/dist/dashboard/routes/board-lane-groups.js.map +1 -0
- package/dist/dashboard/routes/board-policy.d.ts +224 -0
- package/dist/dashboard/routes/board-policy.d.ts.map +1 -0
- package/dist/dashboard/routes/board-policy.js +214 -0
- package/dist/dashboard/routes/board-policy.js.map +1 -0
- package/dist/dashboard/routes/board-profile-parse.d.ts +32 -0
- package/dist/dashboard/routes/board-profile-parse.d.ts.map +1 -0
- package/dist/dashboard/routes/board-profile-parse.js +338 -0
- package/dist/dashboard/routes/board-profile-parse.js.map +1 -0
- package/dist/dashboard/routes/board.d.ts +90 -0
- package/dist/dashboard/routes/board.d.ts.map +1 -0
- package/dist/dashboard/routes/board.js +721 -0
- package/dist/dashboard/routes/board.js.map +1 -0
- package/dist/dashboard/routes/codex.d.ts +14 -0
- package/dist/dashboard/routes/codex.d.ts.map +1 -0
- package/dist/dashboard/routes/codex.js +92 -0
- package/dist/dashboard/routes/codex.js.map +1 -0
- package/dist/dashboard/routes/prompts.d.ts +2 -2
- package/dist/dashboard/routes/prompts.d.ts.map +1 -1
- package/dist/dashboard/routes/prompts.js +2 -2
- package/dist/dashboard/routes/prompts.js.map +1 -1
- package/dist/dashboard/routes/settings.d.ts +2 -0
- package/dist/dashboard/routes/settings.d.ts.map +1 -1
- package/dist/dashboard/routes/settings.js +24 -1
- package/dist/dashboard/routes/settings.js.map +1 -1
- package/dist/dashboard/routes/skills.d.ts +7 -1
- package/dist/dashboard/routes/skills.d.ts.map +1 -1
- package/dist/dashboard/routes/skills.js +6 -6
- package/dist/dashboard/routes/skills.js.map +1 -1
- package/dist/dashboard/routes/snapshots.d.ts +2 -1
- package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
- package/dist/dashboard/routes/snapshots.js +24 -18
- package/dist/dashboard/routes/snapshots.js.map +1 -1
- package/dist/dashboard/routes/templates.js +5 -5
- package/dist/dashboard/routes/templates.js.map +1 -1
- package/dist/dashboard/routes/threads-create.d.ts +17 -0
- package/dist/dashboard/routes/threads-create.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-create.js +32 -10
- package/dist/dashboard/routes/threads-create.js.map +1 -1
- package/dist/dashboard/routes/threads-helpers.d.ts +11 -2
- package/dist/dashboard/routes/threads-helpers.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-helpers.js +20 -3
- package/dist/dashboard/routes/threads-helpers.js.map +1 -1
- package/dist/dashboard/routes/threads-read.d.ts +16 -4
- package/dist/dashboard/routes/threads-read.d.ts.map +1 -1
- package/dist/dashboard/routes/threads-read.js +61 -55
- package/dist/dashboard/routes/threads-read.js.map +1 -1
- package/dist/dashboard/routes/threads.d.ts +2 -2
- package/dist/dashboard/routes/threads.d.ts.map +1 -1
- package/dist/dashboard/routes/threads.js +143 -29
- package/dist/dashboard/routes/threads.js.map +1 -1
- package/dist/dashboard/routes/types.d.ts +6 -0
- package/dist/dashboard/routes/types.d.ts.map +1 -1
- package/dist/dashboard/routes/types.js.map +1 -1
- package/dist/dashboard/routes.d.ts +2 -2
- package/dist/dashboard/routes.d.ts.map +1 -1
- package/dist/dashboard/routes.js +85 -7
- package/dist/dashboard/routes.js.map +1 -1
- package/dist/dashboard/spa.html +15 -12
- package/dist/data/board/board-schema.d.ts +29 -0
- package/dist/data/board/board-schema.d.ts.map +1 -0
- package/dist/data/board/board-schema.js +202 -0
- package/dist/data/board/board-schema.js.map +1 -0
- package/dist/data/board/board-types.d.ts +175 -0
- package/dist/data/board/board-types.d.ts.map +1 -0
- package/dist/data/board/board-types.js +9 -0
- package/dist/data/board/board-types.js.map +1 -0
- package/dist/data/board/card.repository.d.ts +137 -0
- package/dist/data/board/card.repository.d.ts.map +1 -0
- package/dist/data/board/card.repository.js +470 -0
- package/dist/data/board/card.repository.js.map +1 -0
- package/dist/data/board/comment.repository.d.ts +14 -0
- package/dist/data/board/comment.repository.d.ts.map +1 -0
- package/dist/data/board/comment.repository.js +42 -0
- package/dist/data/board/comment.repository.js.map +1 -0
- package/dist/data/board/lane-group.repository.d.ts +19 -0
- package/dist/data/board/lane-group.repository.d.ts.map +1 -0
- package/dist/data/board/lane-group.repository.js +66 -0
- package/dist/data/board/lane-group.repository.js.map +1 -0
- package/dist/data/board/profile-defaults.d.ts +17 -0
- package/dist/data/board/profile-defaults.d.ts.map +1 -0
- package/dist/data/board/profile-defaults.js +107 -0
- package/dist/data/board/profile-defaults.js.map +1 -0
- package/dist/data/interfaces.d.ts +1 -0
- package/dist/data/interfaces.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.d.ts +1 -8
- package/dist/data/memory/bootstrap.d.ts.map +1 -1
- package/dist/data/memory/bootstrap.js +27 -37
- package/dist/data/memory/bootstrap.js.map +1 -1
- package/dist/data/memory/consolidation.d.ts +9 -31
- package/dist/data/memory/consolidation.d.ts.map +1 -1
- package/dist/data/memory/consolidation.js +22 -32
- package/dist/data/memory/consolidation.js.map +1 -1
- package/dist/data/memory/db-maintenance.d.ts +54 -0
- package/dist/data/memory/db-maintenance.d.ts.map +1 -0
- package/dist/data/memory/db-maintenance.js +81 -0
- package/dist/data/memory/db-maintenance.js.map +1 -0
- package/dist/data/memory/episodes.d.ts +2 -1
- package/dist/data/memory/episodes.d.ts.map +1 -1
- package/dist/data/memory/episodes.js +5 -1
- package/dist/data/memory/episodes.js.map +1 -1
- package/dist/data/memory/index.d.ts +0 -4
- package/dist/data/memory/index.d.ts.map +1 -1
- package/dist/data/memory/index.js +0 -4
- package/dist/data/memory/index.js.map +1 -1
- package/dist/data/memory/key-knowledge.d.ts +51 -0
- package/dist/data/memory/key-knowledge.d.ts.map +1 -0
- package/dist/data/memory/key-knowledge.js +128 -0
- package/dist/data/memory/key-knowledge.js.map +1 -0
- package/dist/data/memory/migration-runner.d.ts +1 -1
- package/dist/data/memory/migration-runner.d.ts.map +1 -1
- package/dist/data/memory/migration-runner.js +407 -1
- package/dist/data/memory/migration-runner.js.map +1 -1
- package/dist/data/memory/narrative-lint.d.ts +2 -2
- package/dist/data/memory/narrative-lint.d.ts.map +1 -1
- package/dist/data/memory/narrative-lint.js +23 -13
- package/dist/data/memory/narrative-lint.js.map +1 -1
- package/dist/data/memory/narrative-resolutions.d.ts +9 -2
- package/dist/data/memory/narrative-resolutions.d.ts.map +1 -1
- package/dist/data/memory/narrative-resolutions.js +9 -8
- package/dist/data/memory/narrative-resolutions.js.map +1 -1
- package/dist/data/memory/narrative-sources.d.ts +1 -1
- package/dist/data/memory/narrative-sources.d.ts.map +1 -1
- package/dist/data/memory/narrative-sources.js +8 -3
- package/dist/data/memory/narrative-sources.js.map +1 -1
- package/dist/data/memory/narrative-store.d.ts +24 -0
- package/dist/data/memory/narrative-store.d.ts.map +1 -1
- package/dist/data/memory/narrative-store.js +73 -35
- package/dist/data/memory/narrative-store.js.map +1 -1
- package/dist/data/memory/narrative.d.ts.map +1 -1
- package/dist/data/memory/narrative.js +47 -29
- package/dist/data/memory/narrative.js.map +1 -1
- package/dist/data/memory/note-archival.d.ts +1 -1
- package/dist/data/memory/note-archival.d.ts.map +1 -1
- package/dist/data/memory/note-archival.js +7 -3
- package/dist/data/memory/note-archival.js.map +1 -1
- package/dist/data/memory/note-embeddings.d.ts +7 -0
- package/dist/data/memory/note-embeddings.d.ts.map +1 -1
- package/dist/data/memory/note-embeddings.js +6 -2
- package/dist/data/memory/note-embeddings.js.map +1 -1
- package/dist/data/memory/passive-notice.repository.d.ts +70 -0
- package/dist/data/memory/passive-notice.repository.d.ts.map +1 -0
- package/dist/data/memory/passive-notice.repository.js +85 -0
- package/dist/data/memory/passive-notice.repository.js.map +1 -0
- package/dist/data/memory/schema-ddl.d.ts +120 -1
- package/dist/data/memory/schema-ddl.d.ts.map +1 -1
- package/dist/data/memory/schema-ddl.js +171 -4
- package/dist/data/memory/schema-ddl.js.map +1 -1
- package/dist/data/memory/schema-guard.d.ts.map +1 -1
- package/dist/data/memory/schema-guard.js +5 -41
- package/dist/data/memory/schema-guard.js.map +1 -1
- package/dist/data/memory/schema.d.ts.map +1 -1
- package/dist/data/memory/schema.js +10 -34
- package/dist/data/memory/schema.js.map +1 -1
- package/dist/data/memory/semantic-notes.d.ts +13 -8
- package/dist/data/memory/semantic-notes.d.ts.map +1 -1
- package/dist/data/memory/semantic-notes.js +12 -17
- package/dist/data/memory/semantic-notes.js.map +1 -1
- package/dist/data/memory/thread-registry.d.ts +330 -15
- package/dist/data/memory/thread-registry.d.ts.map +1 -1
- package/dist/data/memory/thread-registry.js +523 -67
- package/dist/data/memory/thread-registry.js.map +1 -1
- package/dist/data/memory/utils.d.ts +6 -0
- package/dist/data/memory/utils.d.ts.map +1 -1
- package/dist/data/memory/utils.js +13 -0
- package/dist/data/memory/utils.js.map +1 -1
- package/dist/data/memory/worker-lifecycle.repository.d.ts +308 -0
- package/dist/data/memory/worker-lifecycle.repository.d.ts.map +1 -0
- package/dist/data/memory/worker-lifecycle.repository.js +428 -0
- package/dist/data/memory/worker-lifecycle.repository.js.map +1 -0
- package/dist/data/optional.d.ts +16 -0
- package/dist/data/optional.d.ts.map +1 -0
- package/dist/data/optional.js +47 -0
- package/dist/data/optional.js.map +1 -0
- package/dist/index.js +156 -24
- package/dist/index.js.map +1 -1
- package/dist/integrations/openai/speech.d.ts.map +1 -1
- package/dist/integrations/openai/speech.js +52 -19
- package/dist/integrations/openai/speech.js.map +1 -1
- package/dist/integrations/openai/video.d.ts +1 -1
- package/dist/integrations/openai/video.d.ts.map +1 -1
- package/dist/integrations/openai/video.js +13 -8
- package/dist/integrations/openai/video.js.map +1 -1
- package/dist/integrations/telegram/types.d.ts +11 -0
- package/dist/integrations/telegram/types.d.ts.map +1 -1
- package/dist/lib/http-retry.d.ts +91 -0
- package/dist/lib/http-retry.d.ts.map +1 -0
- package/dist/lib/http-retry.js +177 -0
- package/dist/lib/http-retry.js.map +1 -0
- package/dist/lib/mcp-http-port.d.ts +12 -0
- package/dist/lib/mcp-http-port.d.ts.map +1 -0
- package/dist/lib/mcp-http-port.js +19 -0
- package/dist/lib/mcp-http-port.js.map +1 -0
- package/dist/lib/paths.d.ts +29 -4
- package/dist/lib/paths.d.ts.map +1 -1
- package/dist/lib/paths.js +31 -4
- package/dist/lib/paths.js.map +1 -1
- package/dist/lib/types.d.ts +2 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/usage-metering/pricing.js +1 -1
- package/dist/lib/usage-metering/pricing.js.map +1 -1
- package/dist/lib/usage-metering/sink.d.ts +4 -0
- package/dist/lib/usage-metering/sink.d.ts.map +1 -1
- package/dist/lib/usage-metering/sink.js +6 -4
- package/dist/lib/usage-metering/sink.js.map +1 -1
- package/dist/lib/utils.d.ts +31 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +49 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/llm/prompts/narrative.d.ts.map +1 -1
- package/dist/llm/prompts/narrative.js +27 -86
- package/dist/llm/prompts/narrative.js.map +1 -1
- package/dist/log-parsing/log-events.d.ts +38 -0
- package/dist/log-parsing/log-events.d.ts.map +1 -0
- package/dist/log-parsing/log-events.js +2 -0
- package/dist/log-parsing/log-events.js.map +1 -0
- package/dist/log-parsing/parser-registry.d.ts +4 -0
- package/dist/log-parsing/parser-registry.d.ts.map +1 -0
- package/dist/log-parsing/parser-registry.js +18 -0
- package/dist/log-parsing/parser-registry.js.map +1 -0
- package/dist/log-parsing/parsers/claude.d.ts +6 -0
- package/dist/log-parsing/parsers/claude.d.ts.map +1 -0
- package/dist/log-parsing/parsers/claude.js +100 -0
- package/dist/log-parsing/parsers/claude.js.map +1 -0
- package/dist/log-parsing/parsers/codex.d.ts +6 -0
- package/dist/log-parsing/parsers/codex.d.ts.map +1 -0
- package/dist/log-parsing/parsers/codex.js +116 -0
- package/dist/log-parsing/parsers/codex.js.map +1 -0
- package/dist/log-parsing/parsers/copilot.d.ts +6 -0
- package/dist/log-parsing/parsers/copilot.d.ts.map +1 -0
- package/dist/log-parsing/parsers/copilot.js +65 -0
- package/dist/log-parsing/parsers/copilot.js.map +1 -0
- package/dist/log-parsing/parsers/json-lines.d.ts +9 -0
- package/dist/log-parsing/parsers/json-lines.d.ts.map +1 -0
- package/dist/log-parsing/parsers/json-lines.js +25 -0
- package/dist/log-parsing/parsers/json-lines.js.map +1 -0
- package/dist/log-parsing/render.d.ts +33 -0
- package/dist/log-parsing/render.d.ts.map +1 -0
- package/dist/log-parsing/render.js +113 -0
- package/dist/log-parsing/render.js.map +1 -0
- package/dist/log-parsing/text.d.ts +8 -0
- package/dist/log-parsing/text.d.ts.map +1 -0
- package/dist/log-parsing/text.js +20 -0
- package/dist/log-parsing/text.js.map +1 -0
- package/dist/server/http-server.d.ts +8 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +41 -19
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/port-holder.d.ts +94 -0
- package/dist/server/port-holder.d.ts.map +1 -0
- package/dist/server/port-holder.js +122 -0
- package/dist/server/port-holder.js.map +1 -0
- package/dist/services/agent-spawn.service.d.ts +50 -5
- package/dist/services/agent-spawn.service.d.ts.map +1 -1
- package/dist/services/agent-spawn.service.js +59 -66
- package/dist/services/agent-spawn.service.js.map +1 -1
- package/dist/services/background-runner.d.ts +0 -1
- package/dist/services/background-runner.d.ts.map +1 -1
- package/dist/services/background-runner.js +0 -58
- package/dist/services/background-runner.js.map +1 -1
- package/dist/services/board/board-signals.d.ts +45 -0
- package/dist/services/board/board-signals.d.ts.map +1 -0
- package/dist/services/board/board-signals.js +170 -0
- package/dist/services/board/board-signals.js.map +1 -0
- package/dist/services/board/card-briefing.d.ts +24 -0
- package/dist/services/board/card-briefing.d.ts.map +1 -0
- package/dist/services/board/card-briefing.js +132 -0
- package/dist/services/board/card-briefing.js.map +1 -0
- package/dist/services/board/card-diagnostics.d.ts +25 -0
- package/dist/services/board/card-diagnostics.d.ts.map +1 -0
- package/dist/services/board/card-diagnostics.js +50 -0
- package/dist/services/board/card-diagnostics.js.map +1 -0
- package/dist/services/board/live-root-thread.d.ts +8 -0
- package/dist/services/board/live-root-thread.d.ts.map +1 -0
- package/dist/services/board/live-root-thread.js +2 -0
- package/dist/services/board/live-root-thread.js.map +1 -0
- package/dist/services/board/orchestrator.service.d.ts +119 -0
- package/dist/services/board/orchestrator.service.d.ts.map +1 -0
- package/dist/services/board/orchestrator.service.js +387 -0
- package/dist/services/board/orchestrator.service.js.map +1 -0
- package/dist/services/board/release-worker.d.ts +43 -0
- package/dist/services/board/release-worker.d.ts.map +1 -0
- package/dist/services/board/release-worker.js +96 -0
- package/dist/services/board/release-worker.js.map +1 -0
- package/dist/services/board/report-capture.d.ts +94 -0
- package/dist/services/board/report-capture.d.ts.map +1 -0
- package/dist/services/board/report-capture.js +398 -0
- package/dist/services/board/report-capture.js.map +1 -0
- package/dist/services/board/worker-spawn.d.ts +89 -0
- package/dist/services/board/worker-spawn.d.ts.map +1 -0
- package/dist/services/board/worker-spawn.js +177 -0
- package/dist/services/board/worker-spawn.js.map +1 -0
- package/dist/services/board/worktree.d.ts +45 -0
- package/dist/services/board/worktree.d.ts.map +1 -0
- package/dist/services/board/worktree.js +183 -0
- package/dist/services/board/worktree.js.map +1 -0
- package/dist/services/broker-client.d.ts +84 -2
- package/dist/services/broker-client.d.ts.map +1 -1
- package/dist/services/broker-client.js +72 -6
- package/dist/services/broker-client.js.map +1 -1
- package/dist/services/claude-spawn.service.d.ts +5 -0
- package/dist/services/claude-spawn.service.d.ts.map +1 -1
- package/dist/services/claude-spawn.service.js +37 -21
- package/dist/services/claude-spawn.service.js.map +1 -1
- package/dist/services/codex-spawn.service.d.ts +8 -3
- package/dist/services/codex-spawn.service.d.ts.map +1 -1
- package/dist/services/codex-spawn.service.js +84 -67
- package/dist/services/codex-spawn.service.js.map +1 -1
- package/dist/services/consolidation.service.d.ts.map +1 -1
- package/dist/services/consolidation.service.js +5 -49
- package/dist/services/consolidation.service.js.map +1 -1
- package/dist/services/copilot-spawn.service.d.ts +1 -1
- package/dist/services/copilot-spawn.service.d.ts.map +1 -1
- package/dist/services/copilot-spawn.service.js +10 -5
- package/dist/services/copilot-spawn.service.js.map +1 -1
- package/dist/services/daily-session.d.ts +24 -11
- package/dist/services/daily-session.d.ts.map +1 -1
- package/dist/services/daily-session.js +113 -33
- package/dist/services/daily-session.js.map +1 -1
- package/dist/services/death-alert.service.d.ts +55 -0
- package/dist/services/death-alert.service.d.ts.map +1 -0
- package/dist/services/death-alert.service.js +64 -0
- package/dist/services/death-alert.service.js.map +1 -0
- package/dist/services/dispatcher/broker.d.ts +66 -0
- package/dist/services/dispatcher/broker.d.ts.map +1 -1
- package/dist/services/dispatcher/broker.js +60 -52
- package/dist/services/dispatcher/broker.js.map +1 -1
- package/dist/services/dispatcher/poller.d.ts.map +1 -1
- package/dist/services/dispatcher/poller.js +31 -24
- package/dist/services/dispatcher/poller.js.map +1 -1
- package/dist/services/http-retry.d.ts +1 -90
- package/dist/services/http-retry.d.ts.map +1 -1
- package/dist/services/http-retry.js +1 -176
- package/dist/services/http-retry.js.map +1 -1
- package/dist/services/intent.d.ts +15 -1
- package/dist/services/intent.d.ts.map +1 -1
- package/dist/services/intent.js +39 -27
- package/dist/services/intent.js.map +1 -1
- package/dist/services/keeper.service.d.ts +76 -3
- package/dist/services/keeper.service.d.ts.map +1 -1
- package/dist/services/keeper.service.js +112 -35
- package/dist/services/keeper.service.js.map +1 -1
- package/dist/services/mcp-config.service.d.ts.map +1 -1
- package/dist/services/mcp-config.service.js +14 -1
- package/dist/services/mcp-config.service.js.map +1 -1
- package/dist/services/memory-briefing.service.d.ts +1 -1
- package/dist/services/memory-briefing.service.d.ts.map +1 -1
- package/dist/services/memory-briefing.service.js +28 -73
- package/dist/services/memory-briefing.service.js.map +1 -1
- package/dist/services/passive-notice.service.d.ts +56 -0
- package/dist/services/passive-notice.service.d.ts.map +1 -0
- package/dist/services/passive-notice.service.js +92 -0
- package/dist/services/passive-notice.service.js.map +1 -0
- package/dist/services/predefined-prompts.d.ts +11 -0
- package/dist/services/predefined-prompts.d.ts.map +1 -0
- package/dist/services/predefined-prompts.js +25 -0
- package/dist/services/predefined-prompts.js.map +1 -0
- package/dist/services/process.service.d.ts +111 -27
- package/dist/services/process.service.d.ts.map +1 -1
- package/dist/services/process.service.js +245 -173
- package/dist/services/process.service.js.map +1 -1
- package/dist/services/spawn-common.d.ts +281 -5
- package/dist/services/spawn-common.d.ts.map +1 -1
- package/dist/services/spawn-common.js +884 -188
- package/dist/services/spawn-common.js.map +1 -1
- package/dist/services/spawn-exit-watcher.d.ts +45 -35
- package/dist/services/spawn-exit-watcher.d.ts.map +1 -1
- package/dist/services/spawn-exit-watcher.js +120 -100
- package/dist/services/spawn-exit-watcher.js.map +1 -1
- package/dist/services/telegram.d.ts +31 -8
- package/dist/services/telegram.d.ts.map +1 -1
- package/dist/services/telegram.js +58 -26
- package/dist/services/telegram.js.map +1 -1
- package/dist/services/thread-health.service.d.ts +8 -0
- package/dist/services/thread-health.service.d.ts.map +1 -1
- package/dist/services/thread-health.service.js +14 -10
- package/dist/services/thread-health.service.js.map +1 -1
- package/dist/services/thread-lifecycle.service.d.ts +17 -1
- package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
- package/dist/services/thread-lifecycle.service.js +47 -6
- package/dist/services/thread-lifecycle.service.js.map +1 -1
- package/dist/services/thread-log-reader.d.ts +81 -0
- package/dist/services/thread-log-reader.d.ts.map +1 -0
- package/dist/services/thread-log-reader.js +141 -0
- package/dist/services/thread-log-reader.js.map +1 -0
- package/dist/services/thread-purge.service.d.ts +200 -0
- package/dist/services/thread-purge.service.d.ts.map +1 -0
- package/dist/services/thread-purge.service.js +644 -0
- package/dist/services/thread-purge.service.js.map +1 -0
- package/dist/services/topic.service.d.ts +44 -2
- package/dist/services/topic.service.d.ts.map +1 -1
- package/dist/services/topic.service.js +74 -13
- package/dist/services/topic.service.js.map +1 -1
- package/dist/services/usage/usage-inbox-notifier.d.ts +50 -0
- package/dist/services/usage/usage-inbox-notifier.d.ts.map +1 -0
- package/dist/services/usage/usage-inbox-notifier.js +118 -0
- package/dist/services/usage/usage-inbox-notifier.js.map +1 -0
- package/dist/services/usage/usage-poller.service.d.ts +41 -0
- package/dist/services/usage/usage-poller.service.d.ts.map +1 -0
- package/dist/services/usage/usage-poller.service.js +67 -0
- package/dist/services/usage/usage-poller.service.js.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts +40 -0
- package/dist/services/usage/usage-snapshot-provider.d.ts.map +1 -0
- package/dist/services/usage/usage-snapshot-provider.js +89 -0
- package/dist/services/usage/usage-snapshot-provider.js.map +1 -0
- package/dist/services/usage/usage-types.d.ts +28 -0
- package/dist/services/usage/usage-types.d.ts.map +1 -0
- package/dist/services/usage/usage-types.js +14 -0
- package/dist/services/usage/usage-types.js.map +1 -0
- package/dist/services/worker-birth.d.ts +154 -0
- package/dist/services/worker-birth.d.ts.map +1 -0
- package/dist/services/worker-birth.js +274 -0
- package/dist/services/worker-birth.js.map +1 -0
- package/dist/services/worker-cleanup.service.d.ts +242 -19
- package/dist/services/worker-cleanup.service.d.ts.map +1 -1
- package/dist/services/worker-cleanup.service.js +893 -355
- package/dist/services/worker-cleanup.service.js.map +1 -1
- package/dist/services/worker-lifecycle-executor.d.ts +42 -0
- package/dist/services/worker-lifecycle-executor.d.ts.map +1 -0
- package/dist/services/worker-lifecycle-executor.js +63 -0
- package/dist/services/worker-lifecycle-executor.js.map +1 -0
- package/dist/services/worker-single-use.d.ts +92 -0
- package/dist/services/worker-single-use.d.ts.map +1 -0
- package/dist/services/worker-single-use.js +155 -0
- package/dist/services/worker-single-use.js.map +1 -0
- package/dist/sessions/mcp-registry.d.ts +33 -2
- package/dist/sessions/mcp-registry.d.ts.map +1 -1
- package/dist/sessions/mcp-registry.js +153 -30
- package/dist/sessions/mcp-registry.js.map +1 -1
- package/dist/test-bootstrap.d.ts +19 -12
- package/dist/test-bootstrap.d.ts.map +1 -1
- package/dist/test-bootstrap.js +69 -21
- package/dist/test-bootstrap.js.map +1 -1
- package/dist/test-tripwire.test-support.d.ts +75 -0
- package/dist/test-tripwire.test-support.d.ts.map +1 -0
- package/dist/test-tripwire.test-support.js +353 -0
- package/dist/test-tripwire.test-support.js.map +1 -0
- package/dist/tools/defs/memory-defs.d.ts.map +1 -1
- package/dist/tools/defs/memory-defs.js +12 -4
- package/dist/tools/defs/memory-defs.js.map +1 -1
- package/dist/tools/defs/session-defs.d.ts.map +1 -1
- package/dist/tools/defs/session-defs.js +26 -10
- package/dist/tools/defs/session-defs.js.map +1 -1
- package/dist/tools/defs/utility-defs.js +1 -1
- package/dist/tools/defs/utility-defs.js.map +1 -1
- package/dist/tools/delegate-tool.d.ts +81 -1
- package/dist/tools/delegate-tool.d.ts.map +1 -1
- package/dist/tools/delegate-tool.js +840 -219
- package/dist/tools/delegate-tool.js.map +1 -1
- package/dist/tools/memory-tools.d.ts.map +1 -1
- package/dist/tools/memory-tools.js +66 -9
- package/dist/tools/memory-tools.js.map +1 -1
- package/dist/tools/response-builders.d.ts.map +1 -1
- package/dist/tools/response-builders.js +12 -8
- package/dist/tools/response-builders.js.map +1 -1
- package/dist/tools/session-tools.d.ts.map +1 -1
- package/dist/tools/session-tools.js +3 -32
- package/dist/tools/session-tools.js.map +1 -1
- package/dist/tools/skill-tools.js +1 -1
- package/dist/tools/skill-tools.js.map +1 -1
- package/dist/tools/start-session-tool.d.ts.map +1 -1
- package/dist/tools/start-session-tool.js +66 -20
- package/dist/tools/start-session-tool.js.map +1 -1
- package/dist/tools/utility-tools.d.ts.map +1 -1
- package/dist/tools/utility-tools.js +38 -3
- package/dist/tools/utility-tools.js.map +1 -1
- package/dist/tools/wait/auto-forward.d.ts.map +1 -1
- package/dist/tools/wait/auto-forward.js +8 -3
- package/dist/tools/wait/auto-forward.js.map +1 -1
- package/dist/tools/wait/consolidation-strategy.d.ts +42 -0
- package/dist/tools/wait/consolidation-strategy.d.ts.map +1 -0
- package/dist/tools/wait/consolidation-strategy.js +50 -0
- package/dist/tools/wait/consolidation-strategy.js.map +1 -0
- package/dist/tools/wait/drive-handler.d.ts +5 -7
- package/dist/tools/wait/drive-handler.d.ts.map +1 -1
- package/dist/tools/wait/drive-handler.js +45 -59
- package/dist/tools/wait/drive-handler.js.map +1 -1
- package/dist/tools/wait/media-processor.d.ts.map +1 -1
- package/dist/tools/wait/media-processor.js +8 -4
- package/dist/tools/wait/media-processor.js.map +1 -1
- package/dist/tools/wait/message-delivery.d.ts +9 -6
- package/dist/tools/wait/message-delivery.d.ts.map +1 -1
- package/dist/tools/wait/message-delivery.js +77 -58
- package/dist/tools/wait/message-delivery.js.map +1 -1
- package/dist/tools/wait/message-processing.d.ts.map +1 -1
- package/dist/tools/wait/message-processing.js +2 -1
- package/dist/tools/wait/message-processing.js.map +1 -1
- package/dist/tools/wait/poll-loop.d.ts.map +1 -1
- package/dist/tools/wait/poll-loop.js +339 -239
- package/dist/tools/wait/poll-loop.js.map +1 -1
- package/package.json +4 -3
- package/templates/azure-devops-securevault.default.md +20 -6
- package/templates/board-quality-checklist.default.md +121 -0
- package/templates/buildless-vue-preview.default.md +47 -0
- package/templates/expert-code-review.default.md +12 -0
- package/templates/handoff.default.md +41 -18
- package/templates/increment-pr-pipeline.default.md +79 -0
- package/templates/swarm.default.md +1 -0
- package/templates/worker-autonomous.default.md +1 -0
- package/templates/worker-delegate.default.md +1 -0
- package/dist/dashboard/log-parser.d.ts +0 -65
- package/dist/dashboard/log-parser.d.ts.map +0 -1
- package/dist/dashboard/log-parser.js +0 -219
- package/dist/dashboard/log-parser.js.map +0 -1
- package/dist/data/memory/reflection-dedup.d.ts +0 -17
- package/dist/data/memory/reflection-dedup.d.ts.map +0 -1
- package/dist/data/memory/reflection-dedup.js +0 -55
- package/dist/data/memory/reflection-dedup.js.map +0 -1
- package/dist/data/memory/reflection-gates.d.ts +0 -40
- package/dist/data/memory/reflection-gates.d.ts.map +0 -1
- package/dist/data/memory/reflection-gates.js +0 -220
- package/dist/data/memory/reflection-gates.js.map +0 -1
- package/dist/data/memory/reflection-sources.d.ts +0 -13
- package/dist/data/memory/reflection-sources.d.ts.map +0 -1
- package/dist/data/memory/reflection-sources.js +0 -115
- package/dist/data/memory/reflection-sources.js.map +0 -1
- package/dist/data/memory/reflection.d.ts +0 -43
- package/dist/data/memory/reflection.d.ts.map +0 -1
- package/dist/data/memory/reflection.js +0 -329
- package/dist/data/memory/reflection.js.map +0 -1
- package/dist/llm/prompts/reflection.d.ts +0 -6
- package/dist/llm/prompts/reflection.d.ts.map +0 -1
- package/dist/llm/prompts/reflection.js +0 -77
- package/dist/llm/prompts/reflection.js.map +0 -1
- package/dist/services/memory-pruning.service.d.ts +0 -12
- package/dist/services/memory-pruning.service.d.ts.map +0 -1
- package/dist/services/memory-pruning.service.js +0 -179
- package/dist/services/memory-pruning.service.js.map +0 -1
- package/templates/daily-review.default.md +0 -26
- package/templates/fire-and-forget.default.md +0 -76
- package/templates/offload.default.md +0 -33
- package/templates/sensorium-repair.default.md +0 -114
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"poll-loop.js","sourceRoot":"","sources":["../../../src/tools/wait/poll-loop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sensorium-mcp",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.3-board.10",
|
|
4
4
|
"description": "MCP server for remote control of AI assistants via Telegram",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
"Install-Sensorium.ps1"
|
|
14
14
|
],
|
|
15
15
|
"scripts": {
|
|
16
|
-
"build": "cd src/dashboard/vue && npx vite build && cd ../../.. && node -e \"const fs=require('fs');if(fs.existsSync('dist/dashboard/index.html'))fs.renameSync('dist/dashboard/index.html','dist/dashboard/spa.html')\" && tsc",
|
|
16
|
+
"build": "cd src/dashboard/vue && npx vite build && cd ../../.. && node -e \"const fs=require('fs');if(fs.existsSync('dist/dashboard/index.html'))fs.renameSync('dist/dashboard/index.html','dist/dashboard/spa.html')\" && tsc && node -e \"const fs=require('fs');fs.cpSync('src/board-front','dist/board',{recursive:true,filter:(s)=>!/(?:\\.d\\.ts|\\.md)$/.test(s)})\"",
|
|
17
17
|
"start": "node dist/index.js",
|
|
18
18
|
"dev": "tsx src/index.ts",
|
|
19
19
|
"supervisor:install": "pwsh Install-Sensorium.ps1",
|
|
20
20
|
"supervisor:start": "node dist/index.js --supervisor",
|
|
21
21
|
"prepublishOnly": "npm run build",
|
|
22
|
-
"test": "node
|
|
22
|
+
"test": "node scripts/run-tests.mjs \"src/**/*.test.ts\"",
|
|
23
23
|
"lint": "eslint .",
|
|
24
|
+
"lint:changed": "node scripts/lint-changed.mjs",
|
|
24
25
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
25
26
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
26
27
|
"typecheck": "tsc --noEmit -p tsconfig.typecheck.json",
|
|
@@ -44,13 +44,27 @@ securevault run --profile Azure_DevOps git push origin <branch>
|
|
|
44
44
|
- NEVER use `az` directly, NEVER ask for PAT values
|
|
45
45
|
- `#<number>` in Azure DevOps PR comments/descriptions auto-links to a **work item**, not a PR. To reference a PR, use the full URL: `[PR 12345](https://dev.azure.com/ORG/PROJECT/_git/REPO/pullrequest/12345)`
|
|
46
46
|
|
|
47
|
+
## PR pipeline builds (diagnosing / re-running CI)
|
|
48
|
+
PR validation builds are keyed to the **merge ref `refs/pull/<prId>/merge`**, NOT the head branch — listing by the head branch returns `[]`.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Find the PR's validation builds (newest first)
|
|
52
|
+
securevault run --profile Azure_DevOps az pipelines build list --org <org> -p <project> --branch refs/pull/<prId>/merge --top 5 --query "[].{id:id,result:result,num:buildNumber}" -o json
|
|
53
|
+
|
|
54
|
+
# Find the REAL failure: read the timeline's failed records (not just "build failed")
|
|
55
|
+
securevault run --profile Azure_DevOps az devops invoke --area build --resource Timeline --route-parameters project=<project> buildId=<id> --api-version 7.1 --query "records[?result=='failed'].{name:name,type:type,log:log.id,issues:issues[].message}" -o json
|
|
56
|
+
|
|
57
|
+
# Read a failing task's log for the exact compiler/test error
|
|
58
|
+
securevault run --profile Azure_DevOps az devops invoke --area build --resource Logs --route-parameters project=<project> buildId=<id> logId=<logId> --api-version 7.1
|
|
59
|
+
|
|
60
|
+
# Re-queue after an infra/flaky failure or a pushed fix (need definition id from `az pipelines build show`)
|
|
61
|
+
securevault run --profile Azure_DevOps az pipelines build queue --definition-id <defId> --org <org> -p <project> --branch refs/pull/<prId>/merge --query "{id:id,num:buildNumber}" -o json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Distinguish causes before acting: an agent-lost message (`"We stopped hearing from agent ..."`) = the build agent died = **infra/flaky**, just re-queue (don't touch code). A compiler error / named failing test / version-gate = **real**, read the log and fix. A local test run of only the projects you edited can miss failures in others (e.g. separate integration/BDD test projects) — run the failing project locally to reproduce before pushing.
|
|
65
|
+
|
|
47
66
|
## PR Comments
|
|
48
|
-
|
|
49
|
-
- Use **bold** for key terms and section headers
|
|
50
|
-
- Use bullet lists and numbered lists for clarity
|
|
51
|
-
- Compare before/after when explaining a change
|
|
52
|
-
- Explain the "why" clearly — the reviewer is a person, not a compiler
|
|
53
|
-
- Keep technical but conversational — no walls of unformatted text
|
|
67
|
+
For how a review comment must read, be typed, and be anchored, follow the **PR Comment Style** skill — that is the single source of truth; do not duplicate its guidance here.
|
|
54
68
|
|
|
55
69
|
### Posting comments via API
|
|
56
70
|
When using `az devops invoke` to post PR comments with `--in-file`, **always write a fresh file** with the comment payload immediately before posting. Never reuse a temp file path that may contain stale content from a previous operation — this can accidentally post unrelated comments to the wrong PR thread.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Board Code-Quality Checklist (operator, thread 1327)
|
|
2
|
+
|
|
3
|
+
Load this FIRST when building/reviewing any Sensorium board increment. These are hard rules the
|
|
4
|
+
operator enforces on review — violating them gets the PR bounced. Be concise; no ceremony.
|
|
5
|
+
|
|
6
|
+
## Types
|
|
7
|
+
- [ ] Use `Optional<T>` — NEVER `| null` / `| undefined` / bare `null` on lines you add or change.
|
|
8
|
+
- [ ] NO gratuitous / redundant / dead `null`. Question every `null` you write: if a guard above already
|
|
9
|
+
makes the value non-`undefined`, `x ?? null` is just `x`; if a field is only ever SET (never cleared),
|
|
10
|
+
`x == null ? null : f(x)` is dead — write `f(x)`. Prefer DELETING a null over annotating it. "Why is
|
|
11
|
+
null here?" must have a real answer or the null goes. (Both were bounced today.)
|
|
12
|
+
- [ ] Scoped `// eslint-disable-next-line no-restricted-syntax -- <reason>` ONLY at a genuine, REACHABLE
|
|
13
|
+
boundary (wire JSON mirror, SQLite bind, transport "unusable = null"). One per boundary, with a real
|
|
14
|
+
reason. NOT a cop-out to avoid Optional in ordinary code, and NOT for a boundary that can't actually
|
|
15
|
+
be hit.
|
|
16
|
+
- [ ] NEVER declare `unknown` as a type, and no `Record<string, unknown>` bag. Type it properly. ZERO
|
|
17
|
+
exceptions — NOT even at a JSON/body boundary: take the typed `JsonObject` + a key accessor, or a
|
|
18
|
+
type guard, never an `unknown` parameter/annotation. A reviewer must FAIL this, not rationalize it as
|
|
19
|
+
"a boundary" (that excuse got two `unknown`s merged-then-bounced today).
|
|
20
|
+
- [ ] No meaningless unions (`unknown | null`). No `any`.
|
|
21
|
+
|
|
22
|
+
## Design (SOLID, not ceremony)
|
|
23
|
+
- [ ] No `static` helper classes/methods doing real logic — use injected instances / DI.
|
|
24
|
+
- [ ] No needless interface for a single implementation with no second consumer (that's ceremony).
|
|
25
|
+
- [ ] Extend at the existing seam (e.g. `IUsageSource`); NEVER `if (provider === "…")` / branch on agentType
|
|
26
|
+
in logic — keep it provider-agnostic, drive by data/lookup tables.
|
|
27
|
+
- [ ] Don't over-engineer defensive parsing of OUR OWN established contract — typed direct access + a
|
|
28
|
+
minimal top-level guard (present + object/array), not a per-field validator. Fail-open via optional
|
|
29
|
+
chaining. Mirror the sibling parser (e.g. `parseProfile`), don't invent a stricter one.
|
|
30
|
+
- [ ] Inject dependencies; don't reach for global singletons inside handlers/helpers. Thread the `db` handle
|
|
31
|
+
from callers — no `getMemoryDb()` re-fetch inside a helper the caller already has a db for.
|
|
32
|
+
- [ ] SRP, clear names, no dead code, no duplication, no comments that are wrong-by-adjacency after edits.
|
|
33
|
+
- [ ] SINGLE source of truth for each piece of state. No unreachable/dead branch kept "defensively" — if a
|
|
34
|
+
code path can't be reached on the real happy path, don't ship it (it hides bugs and masks bad fixtures).
|
|
35
|
+
Gate UI on the AUTHORITATIVE signal (e.g. card `status`), not on a retained/stale field that lingers.
|
|
36
|
+
|
|
37
|
+
## Architecture (STOP AND ASK — do not patch your way through)
|
|
38
|
+
- [ ] If you find yourself looking at a pile of crutches, or at fixes that exist only to hold an earlier fix
|
|
39
|
+
together, STOP AND ASK. Do not fix them one by one. Say plainly what you are seeing, name the design
|
|
40
|
+
defect you think is underneath, and escalate to the operator — he decides whether the architecture
|
|
41
|
+
changes. A long list of small findings that all trace to one bad seam is ONE finding about that seam,
|
|
42
|
+
and reporting it as a list hides the thing that matters.
|
|
43
|
+
- [ ] A fix must be a fix for a real defect, not for the shape of the code. "Fix for the sake of a fix" gets
|
|
44
|
+
bounced: if you cannot state the user-visible or data-visible failure it prevents, don't write it.
|
|
45
|
+
- [ ] Correct architecture beats a working patch. When both are available, take the architecture — and when
|
|
46
|
+
only the patch is available, say so out loud instead of shipping it quietly as if it were the design.
|
|
47
|
+
- [ ] Never widen a brief on your own initiative to absorb what you found. Report it, let the operator scope
|
|
48
|
+
it, and keep the increment the size of the bug.
|
|
49
|
+
|
|
50
|
+
## Mixing sync and async code
|
|
51
|
+
- [ ] NO `*Sync` fs call on an async path. In an `async` function, or anything it awaits, or anything reached
|
|
52
|
+
from the poll loop / teardown / per-thread work: use `fs/promises` and AWAIT it. `readFileSync`,
|
|
53
|
+
`writeFileSync`, `unlinkSync`, `existsSync`, `renameSync`, `appendFileSync`, `execSync` are all bounced
|
|
54
|
+
there. This is not style — sync I/O on a per-thread path starves the event loop and the whole MCP
|
|
55
|
+
freezes at ~12 threads while looking perfectly fine at two. It has happened, twice, and the review
|
|
56
|
+
apparatus missed it both times; the operator caught it by eye on the diff. Check it FIRST, not last.
|
|
57
|
+
- [ ] Multiply by the thread count before you decide something is cheap. A 3 ms sync read every 2 s is
|
|
58
|
+
nothing for one thread and six blocking bursts a second at twelve. "It's just one small read" is the
|
|
59
|
+
exact sentence that preceded the freeze.
|
|
60
|
+
- [ ] `better-sqlite3` is EXEMPT — its calls are synchronous by design, that is the DB, leave them alone.
|
|
61
|
+
Genuinely non-async contexts (module init, a CLI entry, a sync callback you do not control) may use a
|
|
62
|
+
fast single-file sync read; say which one you are in when you do.
|
|
63
|
+
- [ ] NO floating promise. Every promise is awaited, returned, or explicitly `void`ed with a reason. An
|
|
64
|
+
unawaited async call in a teardown path is a race that only shows up under load.
|
|
65
|
+
- [ ] Do NOT half-convert a path. A sync function that calls an async one and ignores the result, or an
|
|
66
|
+
async function whose callers never await it, is worse than either consistent choice — it reads as
|
|
67
|
+
ordered and executes unordered. If the conversion cannot be finished in this increment, say so.
|
|
68
|
+
- [ ] Do not convert sync → async to "be safe" when nothing is wrong. A conversion needs a named symptom
|
|
69
|
+
(a measured stall, a path that runs per-thread) — otherwise it is churn on a hot path, and the operator
|
|
70
|
+
has bounced that too.
|
|
71
|
+
|
|
72
|
+
## UI / copy (user-facing)
|
|
73
|
+
- [ ] ONE language per UI. This board's UI is English — no mixed-language strings (do not splice UA + EN in
|
|
74
|
+
one sentence). Match the wording/casing of the existing labels.
|
|
75
|
+
- [ ] After a user action, give clear feedback (e.g. an in-place "saved ✓"), but drive it from the right
|
|
76
|
+
state; don't fake it and don't let it re-appear on cards where it no longer applies.
|
|
77
|
+
- [ ] Reuse the components/markup from the Claude Design pass; don't invent new UI when a locked decision
|
|
78
|
+
says reuse.
|
|
79
|
+
|
|
80
|
+
## Tests
|
|
81
|
+
- [ ] ONE behavior per test, structured AAA (Arrange → Act → Assert): a single Act, then assertions on
|
|
82
|
+
ONE observable outcome. A test that runs one action and checks several FACETS of that one outcome is
|
|
83
|
+
fine; a test that crams multiple scenarios / a chain of act→assert→tick→assert is NOT — split it into
|
|
84
|
+
atomic cases. No "does X, then Y, then recovers Z" mega-tests. It must read as a unit test, NOT a script.
|
|
85
|
+
- [ ] NO hand-rolled scripting inside a test body: no `let calls=0; if (calls===1) throw…` counters, no
|
|
86
|
+
inline DB/state built up step-by-step. Push that into a small local Arrange helper (e.g. `openV6Board()`,
|
|
87
|
+
a programmable stub that replays an ordered list of responses/errors). The test body stays tiny.
|
|
88
|
+
- [ ] Shared Arrange is encouraged as a small local factory/helper; shared MUTABLE state across tests is not.
|
|
89
|
+
- [ ] NO DUPLICATED TEST CODE (mandatory, not a style preference). The same setup written in two tests →
|
|
90
|
+
one shared Arrange helper; a helper the file (or a sibling test file) already has is REUSED, never
|
|
91
|
+
redeclared. Cases that share one Arrange and one Act and differ only by input/expected value → ONE
|
|
92
|
+
table-driven test, each row its own subtest (`t.test` per row), so every row still fails on its own.
|
|
93
|
+
Measure it: a diff whose added test lines are more than ~1.5× its added production code is suspect —
|
|
94
|
+
name the repeated blocks and how many lines collapse. (inc66 / #153: 2054 test lines vs ~1030 code,
|
|
95
|
+
~half of it copy-pasted setup; two correctness rounds passed it.)
|
|
96
|
+
- [ ] NO resource management in the test body. Teardown (timers, polling, db close) is registered by the
|
|
97
|
+
Arrange helper via the test-context after hook (`t.after`) — the body must contain ZERO cleanup calls
|
|
98
|
+
(no `stopLogPolling()`, no `close()`). Managing resources inside a unit test is a bad practice.
|
|
99
|
+
- [ ] NO shared mutable state between tests. Each test owns its OWN isolated resources (fresh in-memory db /
|
|
100
|
+
unique lane id).
|
|
101
|
+
- [ ] NEVER reach into / mutate a GLOBAL singleton in a test — inject a FAKE dependency instead
|
|
102
|
+
(that's what makes the handler testable; if you can't, the production seam is wrong — fix that).
|
|
103
|
+
- [ ] Real behavioral assertions on outcomes, not implementation trivia; tests must FAIL on regression.
|
|
104
|
+
No rubber-stamps.
|
|
105
|
+
- [ ] Fixtures mirror the REAL wire/domain shape AND a REACHABLE state — no impossible combinations the
|
|
106
|
+
backend would never produce (e.g. `status:"decision_needed"` carrying a recorded `answer`). Big
|
|
107
|
+
fixtures → a shared factory, not an inline wall of eslint-disables.
|
|
108
|
+
|
|
109
|
+
## Gate (run ALL locally before reporting — the local typecheck/test gate is NOT enough)
|
|
110
|
+
- [ ] `npm run lint:changed -- <BASE ref>` → 0 violations. THIS IS MANDATORY and the most-missed step:
|
|
111
|
+
it is the LINE-level prefer-Optional ratchet, CI runs it, and it is NOT part of typecheck/test. A PR
|
|
112
|
+
that skips it gets bounced (14 violations slipped through today because it wasn't run).
|
|
113
|
+
The argument is the ref you BRANCHED FROM (`feature/agent-task-board`), NOT your own branch. Pass your
|
|
114
|
+
own branch and `merge-base` resolves to HEAD, the script prints "no changed .ts files — skipping" and
|
|
115
|
+
exits 0 — a pass that linted nothing. If the output does not name the files you touched, it did not run.
|
|
116
|
+
- [ ] `npm run typecheck` clean.
|
|
117
|
+
- [ ] `npm run format:check` clean (note: globs `*.ts` only — hand-check front `.js` indentation).
|
|
118
|
+
- [ ] `npm test` green — report the REAL observed total (build the test project; never claim green unseen).
|
|
119
|
+
The backend `flight-recorder.service.test.ts` has a known Windows temp-file flake; rerun to confirm
|
|
120
|
+
it's that and not your change, and say so.
|
|
121
|
+
- [ ] Commit with EXPLICIT paths (never `git add -A/./ -u`, never `commit -a`).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Buildless Vue Preview
|
|
3
|
+
triggers:
|
|
4
|
+
- buildless vue
|
|
5
|
+
- vue without build
|
|
6
|
+
- claude design over repo
|
|
7
|
+
- live design preview
|
|
8
|
+
- mock adapter
|
|
9
|
+
- preview mode ui
|
|
10
|
+
- design in place
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Buildless Vue Preview — edit the real UI live, no bundler
|
|
14
|
+
|
|
15
|
+
### The problem this solves
|
|
16
|
+
An external design tool (Claude Design / claude.ai artifacts) can only run **static HTML/JS in a browser sandbox** — it has **no bundler**, so it cannot run a Vite/`.vue` SFC/TypeScript app. That forces one of two bad workflows:
|
|
17
|
+
- **`.zip` roundtrip** — export from the design tool, import into the repo, re-integrate by hand on every edit. Slow, error-prone, drifts.
|
|
18
|
+
- **Mirror mockups + Claude Code** — the design tool edits its own copy blind, then a coding agent ports the diff into the real repo. Double work, always something missed.
|
|
19
|
+
|
|
20
|
+
Both mean the designer edits something that is **not the running app**. The goal is the opposite: **iterate the UI on the real repo files with a live preview, zero re-integration.**
|
|
21
|
+
|
|
22
|
+
### The pattern
|
|
23
|
+
Build the front-end as **buildless Vue 3**: ES modules straight in the browser, components as plain `.js` with template strings, Vue loaded as `vue.esm-browser.js`. **No npm, no Vite, no bundler.** The *same* files run in the design tool's preview AND in production.
|
|
24
|
+
|
|
25
|
+
- **The only seam is data.** A thin `api.js` with a **swappable adapter**:
|
|
26
|
+
- `production` → real `fetch` to the backend (with the app's real auth).
|
|
27
|
+
- `preview` → `api.mock.js` returns fixtures; auth guard passes through.
|
|
28
|
+
- **One MODE flag** (`config.js`: `MODE = 'production' | 'preview'`, or auto-detect by hostname) drives everything downstream, including auth. Login/error/expired-session screens become just fixture states, so **every screen is physically visible** in preview.
|
|
29
|
+
- **Isolation contract:**
|
|
30
|
+
- `api/`, `state/`, `config.js`, entry/router = the **frozen seam** — the design tool does NOT edit these.
|
|
31
|
+
- `views/`, `components/`, `styles/` = the **only** folders the design tool edits.
|
|
32
|
+
- `mock/` fixtures are **loaded only when `MODE === 'preview'`** — statically un-imported in production, so **no mock byte ships to prod**.
|
|
33
|
+
- Keep a **typed contract on the data seam** even without TypeScript: a shared types file (`.d.ts` or JSDoc typedefs) so type-safety on the API boundary isn't lost.
|
|
34
|
+
|
|
35
|
+
### What you trade away (and why it's OK here)
|
|
36
|
+
Lose: SFC syntax (`<template>` blocks), hot-reload, tree-shaking, TypeScript. For a dashboard-sized app this is non-critical. You gain: the design tool edits the **real running app** with a live preview, small components (Card, Row, Builder…) instead of 1000-line files, and a backend left completely untouched (it just serves JSON).
|
|
37
|
+
|
|
38
|
+
### When to use
|
|
39
|
+
- You want a designer/agent to iterate UI **directly on the repo** with a live preview and no bundler in their environment.
|
|
40
|
+
- The app is small-to-medium (a dashboard/board), backend serves JSON, and SFC/HMR/TS are nice-to-have rather than essential.
|
|
41
|
+
|
|
42
|
+
### When NOT to use
|
|
43
|
+
- Large SPA where TypeScript, tree-shaking, and SFC tooling materially matter → use Vite+SFC and accept the mirror-mockup + Claude Code porting workflow.
|
|
44
|
+
- The existing app already standardises on a build step you must not diverge from (unless this is a separate app whose live-edit workflow justifies the divergence — state the justification).
|
|
45
|
+
|
|
46
|
+
### Adapting to a specific stack
|
|
47
|
+
The PATTERN is portable; the specifics are not. Map to the target app: swap the real API endpoints + the app's real auth (Bearer, session, OAuth, …) into the `production` adapter; the `preview` adapter mocks exactly those. Do not copy another app's auth/framework specifics — take buildless-Vue + swappable-adapter + MODE-flag only.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Expert Code Review
|
|
3
|
+
triggers:
|
|
4
|
+
- expert code review
|
|
5
|
+
- review the changes
|
|
6
|
+
- code review worker
|
|
7
|
+
replaces_orchestrator: false
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Expert Code Review
|
|
11
|
+
|
|
12
|
+
Orchestrator skill: spawn an expert code review worker via the **Handoff** skill — once per increment / unit of work / phase, not only at the end.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Handoff
|
|
3
|
+
system: true
|
|
3
4
|
triggers:
|
|
4
5
|
- handoff
|
|
5
6
|
- hand off
|
|
@@ -27,34 +28,51 @@ This skill describes the **orchestrator-worker** pattern: you spawn a worker thr
|
|
|
27
28
|
#### Step 1 — Spawn the worker thread
|
|
28
29
|
```
|
|
29
30
|
start_thread(
|
|
31
|
+
mode: "worker", // mints the worker an id of its own
|
|
30
32
|
name: "Dashboard Worker",
|
|
31
|
-
|
|
32
|
-
memorySourceThreadId: <ORCHESTRATOR_THREAD_ID> // share memory context
|
|
33
|
+
parentThreadId: <ORCHESTRATOR_THREAD_ID> // required for worker mode; the worker reads this thread's memory
|
|
33
34
|
)
|
|
34
35
|
→ returns { threadId: <WORKER_THREAD_ID> }
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
|
|
38
|
+
`mode: "worker"` is what mints the worker its own id, so the id you get back is unique
|
|
39
|
+
for the life of the database and is never a Telegram topic number. `parentThreadId`
|
|
40
|
+
carries the memory context: the worker bootstraps from the parent's own memory source
|
|
41
|
+
(its root) when the parent has one, and from the parent itself otherwise.
|
|
42
|
+
|
|
43
|
+
**Do NOT pass `task` here.** `start_thread`'s `task` is written to the worker's mailbox
|
|
44
|
+
*before the process exists* and is handed over verbatim on its first poll, with no
|
|
45
|
+
envelope around it — so whatever you put there is the whole task the worker thinks it
|
|
46
|
+
was given. The task belongs in Step 2, where it is delivered exactly once inside an
|
|
47
|
+
envelope that also tells the worker where to report. A worker spawned with no `task`
|
|
48
|
+
parks on `wait_for_instructions`, so send Step 2 immediately.
|
|
49
|
+
|
|
50
|
+
#### Step 2 — Send the task in the mode that asks for a report back
|
|
38
51
|
```
|
|
39
52
|
send_message_to_thread(
|
|
40
53
|
threadId: <WORKER_THREAD_ID>,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
mode: "manager-worker", // the only task mode that asks for a report back
|
|
55
|
+
senderName: "<ORCHESTRATOR_NAME>",
|
|
56
|
+
senderThreadId: <ORCHESTRATOR_THREAD_ID>,
|
|
57
|
+
message: "Task: Rewrite the dashboard settings page using React.
|
|
44
58
|
Acceptance criteria:
|
|
45
59
|
- Settings load from /api/settings
|
|
46
60
|
- Form validates input
|
|
47
|
-
- Save button persists changes
|
|
48
|
-
|
|
49
|
-
Report results back to thread <ORCHESTRATOR_THREAD_ID>."
|
|
61
|
+
- Save button persists changes"
|
|
50
62
|
)
|
|
51
63
|
```
|
|
52
64
|
|
|
53
|
-
**CRITICAL**:
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
**CRITICAL**: `mode: "manager-worker"` is what makes Step 3 possible. That mode wraps
|
|
66
|
+
your `message` in an envelope that already carries the two things the worker needs, so
|
|
67
|
+
you do NOT write them into the message yourself:
|
|
68
|
+
|
|
69
|
+
1. `Load the 'Worker — Delegate' skill via get_skill for reporting instructions.` — prepended for you
|
|
70
|
+
2. `Report progress and message "<senderName>" (thread <senderThreadId>) when complete.` — appended for you, which is why BOTH sender fields must be passed: without `senderThreadId` that line names no thread, and without `senderName` it says "another thread"
|
|
56
71
|
|
|
57
|
-
|
|
72
|
+
Leaving `mode` out defaults to `"one-shot"`, whose envelope loads the *Worker —
|
|
73
|
+
Autonomous* skill instead and ends with **"Do NOT message the sender back"** — the
|
|
74
|
+
opposite of what Step 3 is waiting for. Use `"one-shot"` only for work you will not
|
|
75
|
+
wait on. RESULTS sent BACK use mode `"reply"` for clean delivery.
|
|
58
76
|
|
|
59
77
|
#### Step 3 — Wait for results (do NOT duplicate the work)
|
|
60
78
|
```
|
|
@@ -63,23 +81,28 @@ remote_copilot_wait_for_instructions(threadId: <ORCHESTRATOR_THREAD_ID>)
|
|
|
63
81
|
The orchestrator parks here. It does NOT start doing the work itself. The worker will execute the task and send results back via `send_message_to_thread`.
|
|
64
82
|
|
|
65
83
|
#### Step 4 — Process results when they arrive
|
|
66
|
-
Results arrive as a message in `wait_for_instructions`. Review, approve, or request changes by sending another message to the worker.
|
|
84
|
+
Results arrive as a message in `wait_for_instructions`. Review, approve, or request changes by sending another message to the worker — while it is still LIVE. Once it has exited or been archived, `send_message_to_thread` rejects the send and tells you to spawn a fresh worker; see the single-use rule below.
|
|
67
85
|
|
|
68
86
|
### Rules
|
|
69
87
|
|
|
70
88
|
- **PREFER** breaking down your main task into atomic, small steps. A worker should never recieve a huge task to work on.
|
|
71
89
|
- **NEVER** duplicate work after delegating. If you sent it to a worker, wait for the response.
|
|
72
|
-
- **ALWAYS**
|
|
90
|
+
- **ALWAYS** pass `senderName` and `senderThreadId` on the task send — they are what the `manager-worker` envelope puts in its report-back line, and they are the only place the worker learns which thread to answer.
|
|
73
91
|
- **ALWAYS** include clear acceptance criteria in the task message.
|
|
92
|
+
- **ALWAYS** deliver the task exactly once, in Step 2. Never pre-queue it through `start_thread`'s `task` as well.
|
|
74
93
|
- **ALWAYS** use `wait_for_instructions` after sending the task — this is what makes you an orchestrator, not a doer.
|
|
75
|
-
-
|
|
94
|
+
- A worker is **single-use**. Follow-ups to a worker that is still LIVE and working on your task are fine — that is one conversation, not reuse. Once it has reported and finished, it is retired and never addressed again; `start_thread` refuses its id.
|
|
95
|
+
- Domain context does NOT come from reusing a thread — pass the same `parentThreadId` so a fresh worker bootstraps from the same memory source.
|
|
76
96
|
- The orchestrator stays clean for high-level decisions and operator interaction.
|
|
77
97
|
|
|
78
98
|
### Anti-Patterns
|
|
79
99
|
|
|
80
100
|
- ❌ Sending a task then immediately doing the work yourself
|
|
81
101
|
- ❌ Creating a worker thread AND running a subagent for the same task
|
|
82
|
-
- ❌
|
|
102
|
+
- ❌ Omitting `senderThreadId` — the envelope's report-back line then names no thread for the worker to answer
|
|
103
|
+
- ❌ Sending the task with no `mode` — the one-shot envelope tells the worker not to message you back, and Step 3 waits forever
|
|
104
|
+
- ❌ Passing the task (or a role sentence standing in for it) to `start_thread`'s `task` — the worker reads that as its whole task before Step 2 arrives
|
|
83
105
|
- ❌ Sending tasks without acceptance criteria
|
|
84
|
-
- ❌
|
|
106
|
+
- ❌ Sending a NEW task to a worker that already finished one — spawn a fresh worker with the same `parentThreadId`
|
|
107
|
+
- ❌ Spawning a worker without `mode: "worker"` + `parentThreadId` — that pair is what mints its id and names its parent
|
|
85
108
|
- ❌ Reading worker results and re-doing the work instead of applying them
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Increment PR Pipeline
|
|
3
|
+
triggers:
|
|
4
|
+
- increment pipeline
|
|
5
|
+
- one increment per pr
|
|
6
|
+
- worktree per increment
|
|
7
|
+
- pr per increment
|
|
8
|
+
- board increment
|
|
9
|
+
- build increment by increment
|
|
10
|
+
- increment workflow
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Increment PR Pipeline — one atomic increment, one worktree, one PR, reviewed then merged
|
|
14
|
+
|
|
15
|
+
### What this is
|
|
16
|
+
The EXECUTION workflow for building a decomposed plan **increment by increment**, where every
|
|
17
|
+
increment is isolated in its own git worktree + branch and lands as a **real GitHub PR into the
|
|
18
|
+
feature branch** (e.g. the board branch), reviewed by a separate agent before the operator merges.
|
|
19
|
+
It complements:
|
|
20
|
+
- **Atomic Build Spec** — how to DECOMPOSE work into tiny, testable increments.
|
|
21
|
+
- **Phased Worker Pipeline** — the fresh-worker-per-step loop (this skill is its PR-based, worktree-
|
|
22
|
+
isolated form).
|
|
23
|
+
- **Handoff** — how to spawn a worker and wait for its result.
|
|
24
|
+
|
|
25
|
+
Use this when the operator wants small PRs, isolated worktrees, and per-increment review — NOT one
|
|
26
|
+
big branch with everything hammered in at once.
|
|
27
|
+
|
|
28
|
+
### The invariants
|
|
29
|
+
- **One increment in flight at a time, strictly serial.** The next increment branches off the
|
|
30
|
+
**updated** feature branch (after the previous PR merges). Do not parallelise dependent increments.
|
|
31
|
+
- **Own worktree + own branch per increment**, branched off the feature branch (NOT main).
|
|
32
|
+
- **Builder ≠ Reviewer.** A worker never reviews its own code; the reviewer is a fresh, separate
|
|
33
|
+
agent — ideally a DIFFERENT agent type than the builder, for independent perspective.
|
|
34
|
+
- **A regression is never merged.** Blocking review findings are fixed by the SAME builder in the
|
|
35
|
+
SAME PR before merge; cosmetic/non-blocking items become explicit fast-follows.
|
|
36
|
+
- **The operator does the final verify and merges the PR himself.** The orchestrator stays thin.
|
|
37
|
+
|
|
38
|
+
### The loop (orchestrator-driven), per increment
|
|
39
|
+
1. **Create the worktree + branch** off the feature branch:
|
|
40
|
+
`git worktree add -b <feat>/inc<N>-<slug> C:/src/rcm-inc<N>-<slug> <feature-branch>`.
|
|
41
|
+
2. **Spawn the BUILDER worker** (agentType per the operator's choice for this run), cwd = the
|
|
42
|
+
worktree. It MUST, as its FIRST action, load the **Clean Code** skill via `get_skill`. Give it:
|
|
43
|
+
the increment goal, the smallest-honest-slice scope, exact file list, invariants, and what is
|
|
44
|
+
explicitly OUT of scope (name later increments so it can't scope-creep).
|
|
45
|
+
3. Builder implements ONLY this increment + an automated test, then runs the FULL local gate and
|
|
46
|
+
**STOPS and reports back** — it does not start the next increment.
|
|
47
|
+
4. **Spawn a separate REVIEWER worker** (a different agentType than the builder, for independence),
|
|
48
|
+
read-only, adversarial / refute-mode, cwd = the same worktree (deps already installed). It loads
|
|
49
|
+
Clean Code first, reviews
|
|
50
|
+
the PR diff vs the feature branch, confirms the tests are REAL (not rubber-stamps) and the gate is
|
|
51
|
+
green, and returns a clear **GO-to-merge** or **CHANGES-NEEDED** verdict with ranked findings.
|
|
52
|
+
5. **Blocking findings** → hand back to the SAME builder to fix in the same PR; then a focused DELTA
|
|
53
|
+
re-review confirms the finding is CLOSED. Non-blockers → note as fast-follows.
|
|
54
|
+
6. **Operator verifies** (the builder supplies a ~30s click-checklist) and **merges** the PR.
|
|
55
|
+
7. **Cleanup**: `git worktree remove --force <path>` + `git worktree prune` + delete the local
|
|
56
|
+
branch. Advance to the next increment off the updated feature branch.
|
|
57
|
+
|
|
58
|
+
### The gate — ALL must be green before a PR is "ready" (builder runs these IN the worktree)
|
|
59
|
+
- `npm ci` **first** — a fresh worktree has NO `node_modules`; typecheck/tests won't run without it.
|
|
60
|
+
(Install can be slow on Windows; that's expected.)
|
|
61
|
+
- `npm run typecheck` — clean.
|
|
62
|
+
- `npm run format:check` — clean. **CI fails on format independently of tests**; running only tests
|
|
63
|
+
is not enough. Auto-fix with `npm run format` / `npx prettier --write` and re-check.
|
|
64
|
+
- `npm test` — all pass, including the new test for this increment.
|
|
65
|
+
|
|
66
|
+
### The PR
|
|
67
|
+
- **Base = the feature branch (e.g. feature/agent-task-board), NOT main.**
|
|
68
|
+
- Title: `<feat>(inc<N>): <what it does>`.
|
|
69
|
+
- Body: plain and accurate — what the increment does, files touched, gate status. No filler, no
|
|
70
|
+
AI/tool attribution.
|
|
71
|
+
- Commits use **explicit paths** — never `git add -A/./ -u`, never `commit -a`.
|
|
72
|
+
|
|
73
|
+
### Anti-patterns
|
|
74
|
+
- ❌ Skipping `npm ci` in a fresh worktree, then reporting "done" when the gate never actually ran.
|
|
75
|
+
- ❌ Running only `npm test` and missing the separate `format:check` → red CI on the PR.
|
|
76
|
+
- ❌ PR based on `main` instead of the feature branch.
|
|
77
|
+
- ❌ The building worker reviewing its own increment.
|
|
78
|
+
- ❌ Merging a PR with an unresolved regression instead of fixing it in the same PR.
|
|
79
|
+
- ❌ Leaving the merged increment's worktree/branch around instead of cleaning up before the next.
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parser for Claude CLI stream-json thread logs (newline-delimited JSON).
|
|
3
|
-
*
|
|
4
|
-
* The agent's stdout is captured as one JSON event per line. This turns that
|
|
5
|
-
* raw event stream into readable, condensed "turns" for display over Telegram.
|
|
6
|
-
* A turn is one assistant message (its text + any tool calls) together with the
|
|
7
|
-
* tool results that immediately follow it.
|
|
8
|
-
*
|
|
9
|
-
* Assistant text is shown in full; tool inputs and tool results are previewed
|
|
10
|
-
* (collapsed to a single line and capped) because they are machine output, not
|
|
11
|
-
* the agent's reasoning, and would otherwise drown the useful signal.
|
|
12
|
-
*
|
|
13
|
-
* Each entry is prefixed with the wall-clock time of the event it came from, so
|
|
14
|
-
* the reader can tell when a step ran and how long the next one waited.
|
|
15
|
-
*/
|
|
16
|
-
export interface LogTurn {
|
|
17
|
-
/** Rendered lines for this turn, in display order. */
|
|
18
|
-
lines: string[];
|
|
19
|
-
}
|
|
20
|
-
export declare const DEFAULT_PREVIEW_CHARS = 300;
|
|
21
|
-
/**
|
|
22
|
-
* Parse a raw stream-json log into chronological turns. Malformed lines and
|
|
23
|
-
* noise events (system, rate_limit_event) are skipped.
|
|
24
|
-
*/
|
|
25
|
-
export declare function parseClaudeStreamLog(raw: string, previewChars?: number): LogTurn[];
|
|
26
|
-
/**
|
|
27
|
-
* Extract the agent's most recent assistant TEXT from a raw stream-json log.
|
|
28
|
-
*
|
|
29
|
-
* Walks the stream-json events and returns the concatenated text blocks of the
|
|
30
|
-
* last `assistant` message that carried any non-empty text. tool_use-only
|
|
31
|
-
* assistant messages are ignored (they carry no operator-visible prose).
|
|
32
|
-
*
|
|
33
|
-
* Returns an empty string when the log has no assistant text at all — the
|
|
34
|
-
* caller (auto-forward) treats that as "nothing to forward".
|
|
35
|
-
*/
|
|
36
|
-
export declare function extractLastAssistantText(raw: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* Render turns to a single string. With tailFirst (default) the most recent
|
|
39
|
-
* turn appears first, so a reader paging from the top sees latest activity.
|
|
40
|
-
*/
|
|
41
|
-
export declare function renderThreadLog(turns: LogTurn[], tailFirst?: boolean): string;
|
|
42
|
-
/** Default character window per page — matches Telegram's ~4096-char message cap. */
|
|
43
|
-
export declare const DEFAULT_LOG_PAGE_CHARS = 4000;
|
|
44
|
-
export interface LogPage {
|
|
45
|
-
/** The character window for this page. */
|
|
46
|
-
text: string;
|
|
47
|
-
/** Start index of this page within the rendered log. */
|
|
48
|
-
offset: number;
|
|
49
|
-
/** Start index of the next page (feeds a "next chunk" button). */
|
|
50
|
-
nextOffset: number;
|
|
51
|
-
/** Whether more text remains after this page. */
|
|
52
|
-
hasMore: boolean;
|
|
53
|
-
/** Total length of the rendered log. */
|
|
54
|
-
totalLength: number;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Extract a single character window from a rendered log for paginated display.
|
|
58
|
-
*
|
|
59
|
-
* The digest uses astral emoji markers (🤖🔧✅…), so a naive .slice() could cut
|
|
60
|
-
* between the two UTF-16 code units of a surrogate pair and emit a lone
|
|
61
|
-
* surrogate that renders as �. When the window would end mid-pair we snap the
|
|
62
|
-
* end back one unit; that code unit becomes the start of the next page.
|
|
63
|
-
*/
|
|
64
|
-
export declare function sliceLogWindow(rendered: string, offsetRaw: number, limitRaw: number): LogPage;
|
|
65
|
-
//# sourceMappingURL=log-parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-parser.d.ts","sourceRoot":"","sources":["../../src/dashboard/log-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmBH,MAAM,WAAW,OAAO;IACtB,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,eAAO,MAAM,qBAAqB,MAAM,CAAC;AA+DzC;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,MAA8B,GAC3C,OAAO,EAAE,CAiDX;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoB5D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,GAAE,OAAc,GAAG,MAAM,CAGnF;AAED,qFAAqF;AACrF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,WAAW,OAAO;IACtB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAkB7F"}
|