@hera-al/server 1.6.1
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/LICENSE +21 -0
- package/README.md +325 -0
- package/bundled/apple-notes/SKILL.md +77 -0
- package/bundled/apple-reminders/SKILL.md +96 -0
- package/bundled/blogwatcher/SKILL.md +69 -0
- package/bundled/camsnap/SKILL.md +45 -0
- package/bundled/discord/SKILL.md +578 -0
- package/bundled/gemini/SKILL.md +43 -0
- package/bundled/gifgrep/SKILL.md +79 -0
- package/bundled/github/SKILL.md +77 -0
- package/bundled/gog/SKILL.md +116 -0
- package/bundled/goplaces/SKILL.md +52 -0
- package/bundled/himalaya/SKILL.md +257 -0
- package/bundled/himalaya/references/configuration.md +184 -0
- package/bundled/himalaya/references/message-composition.md +199 -0
- package/bundled/homebrew/SKILL.md +82 -0
- package/bundled/local-places/SERVER_README.md +101 -0
- package/bundled/local-places/SKILL.md +102 -0
- package/bundled/local-places/pyproject.toml +21 -0
- package/bundled/local-places/src/local_places/__init__.py +2 -0
- package/bundled/local-places/src/local_places/google_places.py +314 -0
- package/bundled/local-places/src/local_places/main.py +65 -0
- package/bundled/local-places/src/local_places/schemas.py +107 -0
- package/bundled/markitdown/SKILL.md +96 -0
- package/bundled/mcporter/SKILL.md +61 -0
- package/bundled/merge-pr/SKILL.md +187 -0
- package/bundled/merge-pr/agents/openai.yaml +4 -0
- package/bundled/nano-banana-pro/SKILL.md +58 -0
- package/bundled/nano-banana-pro/scripts/generate_image.py +184 -0
- package/bundled/nano-pdf/SKILL.md +38 -0
- package/bundled/open-prose/README.md +25 -0
- package/bundled/open-prose/index.ts +5 -0
- package/bundled/open-prose/openclaw.plugin.json +11 -0
- package/bundled/open-prose/package.json +15 -0
- package/bundled/open-prose/skills/prose/LICENSE +21 -0
- package/bundled/open-prose/skills/prose/SKILL.md +323 -0
- package/bundled/open-prose/skills/prose/alt-borges.md +141 -0
- package/bundled/open-prose/skills/prose/alts/arabian-nights.md +358 -0
- package/bundled/open-prose/skills/prose/alts/borges.md +360 -0
- package/bundled/open-prose/skills/prose/alts/folk.md +322 -0
- package/bundled/open-prose/skills/prose/alts/homer.md +346 -0
- package/bundled/open-prose/skills/prose/alts/kafka.md +373 -0
- package/bundled/open-prose/skills/prose/compiler.md +2971 -0
- package/bundled/open-prose/skills/prose/examples/01-hello-world.prose +4 -0
- package/bundled/open-prose/skills/prose/examples/02-research-and-summarize.prose +6 -0
- package/bundled/open-prose/skills/prose/examples/03-code-review.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/04-write-and-refine.prose +14 -0
- package/bundled/open-prose/skills/prose/examples/05-debug-issue.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/06-explain-codebase.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/07-refactor.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/08-blog-post.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/09-research-with-agents.prose +25 -0
- package/bundled/open-prose/skills/prose/examples/10-code-review-agents.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/11-skills-and-imports.prose +27 -0
- package/bundled/open-prose/skills/prose/examples/12-secure-agent-permissions.prose +43 -0
- package/bundled/open-prose/skills/prose/examples/13-variables-and-context.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/14-composition-blocks.prose +48 -0
- package/bundled/open-prose/skills/prose/examples/15-inline-sequences.prose +23 -0
- package/bundled/open-prose/skills/prose/examples/16-parallel-reviews.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/17-parallel-research.prose +19 -0
- package/bundled/open-prose/skills/prose/examples/18-mixed-parallel-sequential.prose +36 -0
- package/bundled/open-prose/skills/prose/examples/19-advanced-parallel.prose +71 -0
- package/bundled/open-prose/skills/prose/examples/20-fixed-loops.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/21-pipeline-operations.prose +35 -0
- package/bundled/open-prose/skills/prose/examples/22-error-handling.prose +51 -0
- package/bundled/open-prose/skills/prose/examples/23-retry-with-backoff.prose +63 -0
- package/bundled/open-prose/skills/prose/examples/24-choice-blocks.prose +86 -0
- package/bundled/open-prose/skills/prose/examples/25-conditionals.prose +114 -0
- package/bundled/open-prose/skills/prose/examples/26-parameterized-blocks.prose +100 -0
- package/bundled/open-prose/skills/prose/examples/27-string-interpolation.prose +105 -0
- package/bundled/open-prose/skills/prose/examples/28-automated-pr-review.prose +37 -0
- package/bundled/open-prose/skills/prose/examples/28-gas-town.prose +1572 -0
- package/bundled/open-prose/skills/prose/examples/29-captains-chair.prose +218 -0
- package/bundled/open-prose/skills/prose/examples/30-captains-chair-simple.prose +42 -0
- package/bundled/open-prose/skills/prose/examples/31-captains-chair-with-memory.prose +145 -0
- package/bundled/open-prose/skills/prose/examples/33-pr-review-autofix.prose +168 -0
- package/bundled/open-prose/skills/prose/examples/34-content-pipeline.prose +204 -0
- package/bundled/open-prose/skills/prose/examples/35-feature-factory.prose +296 -0
- package/bundled/open-prose/skills/prose/examples/36-bug-hunter.prose +237 -0
- package/bundled/open-prose/skills/prose/examples/37-the-forge.prose +1474 -0
- package/bundled/open-prose/skills/prose/examples/38-skill-scan.prose +455 -0
- package/bundled/open-prose/skills/prose/examples/39-architect-by-simulation.prose +277 -0
- package/bundled/open-prose/skills/prose/examples/40-rlm-self-refine.prose +32 -0
- package/bundled/open-prose/skills/prose/examples/41-rlm-divide-conquer.prose +38 -0
- package/bundled/open-prose/skills/prose/examples/42-rlm-filter-recurse.prose +46 -0
- package/bundled/open-prose/skills/prose/examples/43-rlm-pairwise.prose +50 -0
- package/bundled/open-prose/skills/prose/examples/44-run-endpoint-ux-test.prose +261 -0
- package/bundled/open-prose/skills/prose/examples/45-plugin-release.prose +159 -0
- package/bundled/open-prose/skills/prose/examples/45-run-endpoint-ux-test-with-remediation.prose +637 -0
- package/bundled/open-prose/skills/prose/examples/46-run-endpoint-ux-test-fast.prose +148 -0
- package/bundled/open-prose/skills/prose/examples/46-workflow-crystallizer.prose +225 -0
- package/bundled/open-prose/skills/prose/examples/47-language-self-improvement.prose +356 -0
- package/bundled/open-prose/skills/prose/examples/48-habit-miner.prose +445 -0
- package/bundled/open-prose/skills/prose/examples/49-prose-run-retrospective.prose +210 -0
- package/bundled/open-prose/skills/prose/examples/README.md +391 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/README.md +22 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/iterative-refinement.prose +20 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/parallel-review.prose +18 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/simple-pipeline.prose +17 -0
- package/bundled/open-prose/skills/prose/examples/roadmap/syntax/open-prose-syntax.prose +223 -0
- package/bundled/open-prose/skills/prose/guidance/antipatterns.md +951 -0
- package/bundled/open-prose/skills/prose/guidance/patterns.md +700 -0
- package/bundled/open-prose/skills/prose/guidance/system-prompt.md +180 -0
- package/bundled/open-prose/skills/prose/help.md +144 -0
- package/bundled/open-prose/skills/prose/lib/README.md +108 -0
- package/bundled/open-prose/skills/prose/lib/calibrator.prose +215 -0
- package/bundled/open-prose/skills/prose/lib/cost-analyzer.prose +174 -0
- package/bundled/open-prose/skills/prose/lib/error-forensics.prose +250 -0
- package/bundled/open-prose/skills/prose/lib/inspector.prose +196 -0
- package/bundled/open-prose/skills/prose/lib/profiler.prose +460 -0
- package/bundled/open-prose/skills/prose/lib/program-improver.prose +275 -0
- package/bundled/open-prose/skills/prose/lib/project-memory.prose +118 -0
- package/bundled/open-prose/skills/prose/lib/user-memory.prose +93 -0
- package/bundled/open-prose/skills/prose/lib/vm-improver.prose +243 -0
- package/bundled/open-prose/skills/prose/primitives/session.md +593 -0
- package/bundled/open-prose/skills/prose/prose.md +1237 -0
- package/bundled/open-prose/skills/prose/state/filesystem.md +498 -0
- package/bundled/open-prose/skills/prose/state/in-context.md +384 -0
- package/bundled/open-prose/skills/prose/state/postgres.md +880 -0
- package/bundled/open-prose/skills/prose/state/sqlite.md +574 -0
- package/bundled/peekaboo/SKILL.md +190 -0
- package/bundled/prepare-pr/SKILL.md +277 -0
- package/bundled/prepare-pr/agents/openai.yaml +4 -0
- package/bundled/review-pr/SKILL.md +228 -0
- package/bundled/review-pr/agents/openai.yaml +4 -0
- package/bundled/sag/SKILL.md +87 -0
- package/bundled/skill-creator/SKILL.md +370 -0
- package/bundled/skill-creator/license.txt +202 -0
- package/bundled/skill-creator/scripts/init_skill.py +378 -0
- package/bundled/skill-creator/scripts/package_skill.py +111 -0
- package/bundled/skill-creator/scripts/quick_validate.py +101 -0
- package/bundled/spotify-player/SKILL.md +64 -0
- package/bundled/ssh/SKILL.md +119 -0
- package/bundled/summarize/SKILL.md +87 -0
- package/bundled/video-frames/SKILL.md +46 -0
- package/bundled/video-frames/scripts/frame.sh +81 -0
- package/bundled/voice-call/SKILL.md +45 -0
- package/bundled/wacli/SKILL.md +72 -0
- package/bundled/weather/SKILL.md +54 -0
- package/dist/agent/agent-service.d.ts +88 -0
- package/dist/agent/agent-service.js +1 -0
- package/dist/agent/message-queue.d.ts +24 -0
- package/dist/agent/message-queue.js +1 -0
- package/dist/agent/prompt-builder.d.ts +58 -0
- package/dist/agent/prompt-builder.js +1 -0
- package/dist/agent/session-agent.d.ts +197 -0
- package/dist/agent/session-agent.js +1 -0
- package/dist/agent/session-db.d.ts +26 -0
- package/dist/agent/session-db.js +1 -0
- package/dist/agent/session-error-handler.d.ts +37 -0
- package/dist/agent/session-error-handler.js +1 -0
- package/dist/agent/session-manager.d.ts +19 -0
- package/dist/agent/session-manager.js +1 -0
- package/dist/agent/workspace-files.d.ts +51 -0
- package/dist/agent/workspace-files.js +1 -0
- package/dist/auth/auth-middleware.d.ts +9 -0
- package/dist/auth/auth-middleware.js +1 -0
- package/dist/auth/node-signature-db.d.ts +30 -0
- package/dist/auth/node-signature-db.js +1 -0
- package/dist/auth/token-db.d.ts +38 -0
- package/dist/auth/token-db.js +1 -0
- package/dist/browser/browser-service.d.ts +9 -0
- package/dist/browser/browser-service.js +1 -0
- package/dist/channels/channel.d.ts +2 -0
- package/dist/channels/channel.js +1 -0
- package/dist/channels/responses.d.ts +21 -0
- package/dist/channels/responses.js +1 -0
- package/dist/commands/clear.d.ts +7 -0
- package/dist/commands/clear.js +1 -0
- package/dist/commands/cmd.d.ts +7 -0
- package/dist/commands/cmd.js +1 -0
- package/dist/commands/coder.d.ts +12 -0
- package/dist/commands/coder.js +1 -0
- package/dist/commands/command-registry.d.ts +12 -0
- package/dist/commands/command-registry.js +1 -0
- package/dist/commands/command.d.ts +22 -0
- package/dist/commands/command.js +1 -0
- package/dist/commands/compact.d.ts +7 -0
- package/dist/commands/compact.js +1 -0
- package/dist/commands/customsubagents.d.ts +15 -0
- package/dist/commands/customsubagents.js +1 -0
- package/dist/commands/help.d.ts +9 -0
- package/dist/commands/help.js +1 -0
- package/dist/commands/mcp.d.ts +9 -0
- package/dist/commands/mcp.js +1 -0
- package/dist/commands/model.d.ts +22 -0
- package/dist/commands/model.js +1 -0
- package/dist/commands/models.d.ts +11 -0
- package/dist/commands/models.js +1 -0
- package/dist/commands/new.d.ts +7 -0
- package/dist/commands/new.js +1 -0
- package/dist/commands/plugin.d.ts +7 -0
- package/dist/commands/plugin.js +1 -0
- package/dist/commands/sandbox.d.ts +12 -0
- package/dist/commands/sandbox.js +1 -0
- package/dist/commands/showtool.d.ts +12 -0
- package/dist/commands/showtool.js +1 -0
- package/dist/commands/status.d.ts +24 -0
- package/dist/commands/status.js +1 -0
- package/dist/commands/stop.d.ts +10 -0
- package/dist/commands/stop.js +1 -0
- package/dist/commands/subagents.d.ts +12 -0
- package/dist/commands/subagents.js +1 -0
- package/dist/commands/usage.d.ts +25 -0
- package/dist/commands/usage.js +1 -0
- package/dist/commands/useplugin.d.ts +7 -0
- package/dist/commands/useplugin.js +1 -0
- package/dist/config-watcher.d.ts +14 -0
- package/dist/config-watcher.js +1 -0
- package/dist/config.d.ts +267 -0
- package/dist/config.js +1 -0
- package/dist/cron/cron-service.d.ts +57 -0
- package/dist/cron/cron-service.js +1 -0
- package/dist/cron/heartbeat-token.d.ts +29 -0
- package/dist/cron/heartbeat-token.js +1 -0
- package/dist/cron/schedule.d.ts +3 -0
- package/dist/cron/schedule.js +1 -0
- package/dist/cron/store.d.ts +4 -0
- package/dist/cron/store.js +1 -0
- package/dist/cron/types.d.ts +47 -0
- package/dist/cron/types.js +1 -0
- package/dist/gateway/bridge.d.ts +38 -0
- package/dist/gateway/bridge.js +1 -0
- package/dist/gateway/channel-manager.d.ts +45 -0
- package/dist/gateway/channel-manager.js +1 -0
- package/dist/gateway/channels/qr-image.d.ts +5 -0
- package/dist/gateway/channels/qr-image.js +1 -0
- package/dist/gateway/channels/telegram.d.ts +39 -0
- package/dist/gateway/channels/telegram.js +1 -0
- package/dist/gateway/channels/webchat.d.ts +51 -0
- package/dist/gateway/channels/webchat.js +1 -0
- package/dist/gateway/channels/whatsapp.d.ts +40 -0
- package/dist/gateway/channels/whatsapp.js +1 -0
- package/dist/gateway/node-registry.d.ts +38 -0
- package/dist/gateway/node-registry.js +1 -0
- package/dist/heracli/index.d.ts +3 -0
- package/dist/heracli/index.js +2 -0
- package/dist/heracli/logs.d.ts +13 -0
- package/dist/heracli/logs.js +1 -0
- package/dist/heracli/security/audit.d.ts +17 -0
- package/dist/heracli/security/audit.js +1 -0
- package/dist/heracli/security/checks/channel-policies.d.ts +6 -0
- package/dist/heracli/security/checks/channel-policies.js +1 -0
- package/dist/heracli/security/checks/credentials.d.ts +6 -0
- package/dist/heracli/security/checks/credentials.js +1 -0
- package/dist/heracli/security/checks/fs-permissions.d.ts +6 -0
- package/dist/heracli/security/checks/fs-permissions.js +1 -0
- package/dist/heracli/security/checks/network.d.ts +4 -0
- package/dist/heracli/security/checks/network.js +1 -0
- package/dist/heracli/security/report.d.ts +4 -0
- package/dist/heracli/security/report.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/installer/hera.d.ts +3 -0
- package/dist/installer/hera.js +2 -0
- package/dist/media/message-processor.d.ts +23 -0
- package/dist/media/message-processor.js +1 -0
- package/dist/memory/memory-manager.d.ts +21 -0
- package/dist/memory/memory-manager.js +1 -0
- package/dist/memory/memory-provider.d.ts +22 -0
- package/dist/memory/memory-provider.js +1 -0
- package/dist/memory/memory-search.d.ts +102 -0
- package/dist/memory/memory-search.js +1 -0
- package/dist/memory/recall-strategies.d.ts +2 -0
- package/dist/memory/recall-strategies.js +1 -0
- package/dist/nostromo/auth.d.ts +29 -0
- package/dist/nostromo/auth.js +1 -0
- package/dist/nostromo/nostromo.d.ts +23 -0
- package/dist/nostromo/nostromo.js +1 -0
- package/dist/nostromo/ui-html-layout.d.ts +3 -0
- package/dist/nostromo/ui-html-layout.js +1 -0
- package/dist/nostromo/ui-html-modals.d.ts +3 -0
- package/dist/nostromo/ui-html-modals.js +1 -0
- package/dist/nostromo/ui-js-agent.d.ts +3 -0
- package/dist/nostromo/ui-js-agent.js +1 -0
- package/dist/nostromo/ui-js-channels.d.ts +3 -0
- package/dist/nostromo/ui-js-channels.js +1 -0
- package/dist/nostromo/ui-js-competences.d.ts +3 -0
- package/dist/nostromo/ui-js-competences.js +1 -0
- package/dist/nostromo/ui-js-config.d.ts +3 -0
- package/dist/nostromo/ui-js-config.js +1 -0
- package/dist/nostromo/ui-js-core.d.ts +3 -0
- package/dist/nostromo/ui-js-core.js +1 -0
- package/dist/nostromo/ui-js-ops.d.ts +3 -0
- package/dist/nostromo/ui-js-ops.js +1 -0
- package/dist/nostromo/ui-js-prompts.d.ts +3 -0
- package/dist/nostromo/ui-js-prompts.js +1 -0
- package/dist/nostromo/ui-styles.d.ts +3 -0
- package/dist/nostromo/ui-styles.js +1 -0
- package/dist/nostromo/ui.d.ts +2 -0
- package/dist/nostromo/ui.js +1 -0
- package/dist/server.d.ts +80 -0
- package/dist/server.js +1 -0
- package/dist/stt/local-whisper.d.ts +9 -0
- package/dist/stt/local-whisper.js +1 -0
- package/dist/stt/openai-whisper.d.ts +14 -0
- package/dist/stt/openai-whisper.js +1 -0
- package/dist/stt/stt-loader.d.ts +4 -0
- package/dist/stt/stt-loader.js +1 -0
- package/dist/stt/stt-provider.d.ts +4 -0
- package/dist/stt/stt-provider.js +1 -0
- package/dist/tools/browser-tools.d.ts +9 -0
- package/dist/tools/browser-tools.js +1 -0
- package/dist/tools/cron-tools.d.ts +4 -0
- package/dist/tools/cron-tools.js +1 -0
- package/dist/tools/memory-tools.d.ts +3 -0
- package/dist/tools/memory-tools.js +1 -0
- package/dist/tools/message-tools.d.ts +5 -0
- package/dist/tools/message-tools.js +1 -0
- package/dist/tools/node-tools.d.ts +3 -0
- package/dist/tools/node-tools.js +1 -0
- package/dist/tools/server-tools.d.ts +2 -0
- package/dist/tools/server-tools.js +1 -0
- package/dist/tools/tts-tools.d.ts +3 -0
- package/dist/tools/tts-tools.js +1 -0
- package/dist/tts/tts-service.d.ts +19 -0
- package/dist/tts/tts-service.js +1 -0
- package/dist/utils/chunk.d.ts +3 -0
- package/dist/utils/chunk.js +1 -0
- package/dist/utils/logger.d.ts +16 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/markdown/fences.d.ts +11 -0
- package/dist/utils/markdown/fences.js +1 -0
- package/dist/utils/markdown/ir.d.ts +33 -0
- package/dist/utils/markdown/ir.js +1 -0
- package/dist/utils/markdown/render.d.ts +19 -0
- package/dist/utils/markdown/render.js +1 -0
- package/dist/utils/markdown/tables.d.ts +3 -0
- package/dist/utils/markdown/tables.js +1 -0
- package/dist/utils/media-response.d.ts +29 -0
- package/dist/utils/media-response.js +1 -0
- package/dist/utils/package-paths.d.ts +5 -0
- package/dist/utils/package-paths.js +1 -0
- package/dist/utils/telegram-format.d.ts +13 -0
- package/dist/utils/telegram-format.js +1 -0
- package/installationPkg/.env.example +26 -0
- package/installationPkg/AGENTS.md +143 -0
- package/installationPkg/BOOTSTRAP.md +45 -0
- package/installationPkg/CBINT.json +16 -0
- package/installationPkg/HEARTBEAT.md +5 -0
- package/installationPkg/IDENTITY.md +7 -0
- package/installationPkg/SOUL.md +36 -0
- package/installationPkg/SYSTEM_PROMPT.md +55 -0
- package/installationPkg/SYSTEM_PROMPT_SUBAGENT.md +40 -0
- package/installationPkg/TOOLS.md +36 -0
- package/installationPkg/USER.md +11 -0
- package/installationPkg/config.example.yaml +291 -0
- package/package.json +95 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# VM Improver
|
|
2
|
+
# Analyzes inspection reports and proposes improvements to the OpenProse VM
|
|
3
|
+
#
|
|
4
|
+
# Usage:
|
|
5
|
+
# prose run @openprose/lib/vm-improver
|
|
6
|
+
#
|
|
7
|
+
# Inputs:
|
|
8
|
+
# inspection_path: Path to inspection binding (e.g., .prose/runs/.../bindings/inspection.md)
|
|
9
|
+
# prose_repo: Path to prose submodule (default: current project's prose/)
|
|
10
|
+
#
|
|
11
|
+
# Output: One or more PRs to the prose repo, or proposals if no git access
|
|
12
|
+
|
|
13
|
+
input inspection_path: "Path to inspection output (bindings/inspection.md)"
|
|
14
|
+
input prose_repo: "Path to prose skill directory (e.g., prose/skills/open-prose)"
|
|
15
|
+
|
|
16
|
+
# ============================================================
|
|
17
|
+
# Agents
|
|
18
|
+
# ============================================================
|
|
19
|
+
|
|
20
|
+
agent analyst:
|
|
21
|
+
model: opus
|
|
22
|
+
prompt: """
|
|
23
|
+
You analyze OpenProse inspection reports for VM improvement opportunities.
|
|
24
|
+
|
|
25
|
+
Look for evidence of:
|
|
26
|
+
- Execution inefficiencies (too many steps, redundant spawns)
|
|
27
|
+
- Context bloat (VM passing full values instead of references)
|
|
28
|
+
- State management issues (missing bindings, path errors)
|
|
29
|
+
- Error handling gaps (uncaught failures, unclear errors)
|
|
30
|
+
- Missing features that would help this class of program
|
|
31
|
+
- Spec ambiguities that led to incorrect execution
|
|
32
|
+
|
|
33
|
+
Be concrete. Reference specific inspection findings.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
agent researcher:
|
|
37
|
+
model: sonnet
|
|
38
|
+
prompt: """
|
|
39
|
+
You explore the OpenProse VM codebase to understand how to fix issues.
|
|
40
|
+
Read files, understand structure, find the right places to change.
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
agent implementer:
|
|
44
|
+
model: opus
|
|
45
|
+
prompt: """
|
|
46
|
+
You implement improvements to the OpenProse VM.
|
|
47
|
+
|
|
48
|
+
Rules:
|
|
49
|
+
- Follow existing style exactly
|
|
50
|
+
- Make minimal, focused changes
|
|
51
|
+
- One logical change per PR
|
|
52
|
+
- Update all affected files (spec, state backends, etc.)
|
|
53
|
+
"""
|
|
54
|
+
|
|
55
|
+
agent pr_author:
|
|
56
|
+
model: sonnet
|
|
57
|
+
prompt: """
|
|
58
|
+
You create branches and pull requests with clear descriptions.
|
|
59
|
+
Explain the problem, the solution, and how to test it.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
# ============================================================
|
|
63
|
+
# Phase 1: Analyze Inspection for VM Issues
|
|
64
|
+
# ============================================================
|
|
65
|
+
|
|
66
|
+
let analysis = session: analyst
|
|
67
|
+
prompt: """
|
|
68
|
+
Read the inspection report and identify VM improvement opportunities.
|
|
69
|
+
|
|
70
|
+
Inspection: {inspection_path}
|
|
71
|
+
|
|
72
|
+
For each opportunity, specify:
|
|
73
|
+
- category: efficiency | context | state | error | feature | spec
|
|
74
|
+
- description: what's wrong
|
|
75
|
+
- severity: low | medium | high
|
|
76
|
+
- evidence: quote from inspection that shows this
|
|
77
|
+
- hypothesis: what VM behavior likely caused this
|
|
78
|
+
|
|
79
|
+
Return JSON:
|
|
80
|
+
{
|
|
81
|
+
"target_run": "run ID that was inspected",
|
|
82
|
+
"opportunities": [...],
|
|
83
|
+
"priority_order": [indices sorted by impact]
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
If the inspection shows clean execution with no issues, return empty opportunities.
|
|
87
|
+
"""
|
|
88
|
+
context: inspection_path
|
|
89
|
+
|
|
90
|
+
if **no actionable opportunities found**:
|
|
91
|
+
output result = {
|
|
92
|
+
status: "no-improvements-needed",
|
|
93
|
+
analysis: analysis,
|
|
94
|
+
message: "Inspection showed clean VM execution"
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
# ============================================================
|
|
98
|
+
# Phase 2: Research VM Codebase
|
|
99
|
+
# ============================================================
|
|
100
|
+
|
|
101
|
+
let research = session: researcher
|
|
102
|
+
prompt: """
|
|
103
|
+
For each opportunity, find the relevant VM code.
|
|
104
|
+
|
|
105
|
+
Prose repo: {prose_repo}
|
|
106
|
+
Opportunities: {analysis.opportunities}
|
|
107
|
+
|
|
108
|
+
Key files to check:
|
|
109
|
+
- prose.md (main VM spec)
|
|
110
|
+
- state/filesystem.md, state/sqlite.md, state/postgres.md
|
|
111
|
+
- primitives/session.md
|
|
112
|
+
- compiler.md
|
|
113
|
+
- SKILL.md
|
|
114
|
+
|
|
115
|
+
Return JSON:
|
|
116
|
+
{
|
|
117
|
+
"findings": [
|
|
118
|
+
{
|
|
119
|
+
"opportunity_index": N,
|
|
120
|
+
"relevant_files": ["path/to/file.md"],
|
|
121
|
+
"current_behavior": "how it works now",
|
|
122
|
+
"change_location": "specific section or line range"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
"""
|
|
127
|
+
context: { analysis, prose_repo }
|
|
128
|
+
|
|
129
|
+
# ============================================================
|
|
130
|
+
# Phase 3: User Selection
|
|
131
|
+
# ============================================================
|
|
132
|
+
|
|
133
|
+
input selection: """
|
|
134
|
+
## VM Improvement Opportunities
|
|
135
|
+
|
|
136
|
+
Based on inspection of: {analysis.target_run}
|
|
137
|
+
|
|
138
|
+
### Opportunities Found:
|
|
139
|
+
{analysis.opportunities}
|
|
140
|
+
|
|
141
|
+
### Research:
|
|
142
|
+
{research.findings}
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
Which improvements should I implement as PRs?
|
|
147
|
+
- List by number (e.g., "1, 3")
|
|
148
|
+
- Or "all" for everything
|
|
149
|
+
- Or "none" to skip
|
|
150
|
+
"""
|
|
151
|
+
|
|
152
|
+
if **user selected none or wants to skip**:
|
|
153
|
+
output result = {
|
|
154
|
+
status: "skipped",
|
|
155
|
+
analysis: analysis,
|
|
156
|
+
research: research
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
let selected = session "Parse selection"
|
|
160
|
+
prompt: "Extract selected opportunity indices from user input"
|
|
161
|
+
context: { selection, analysis }
|
|
162
|
+
|
|
163
|
+
# ============================================================
|
|
164
|
+
# Phase 4: Implement Changes
|
|
165
|
+
# ============================================================
|
|
166
|
+
|
|
167
|
+
let implementations = selected | map:
|
|
168
|
+
session: implementer
|
|
169
|
+
prompt: """
|
|
170
|
+
Implement this VM improvement.
|
|
171
|
+
|
|
172
|
+
Opportunity: {analysis.opportunities[item]}
|
|
173
|
+
Research: {research.findings[item]}
|
|
174
|
+
Prose repo: {prose_repo}
|
|
175
|
+
|
|
176
|
+
1. Read the current file content
|
|
177
|
+
2. Design the minimal change
|
|
178
|
+
3. Write the improved content
|
|
179
|
+
|
|
180
|
+
Return JSON:
|
|
181
|
+
{
|
|
182
|
+
"opportunity_index": N,
|
|
183
|
+
"branch_name": "vm/short-description",
|
|
184
|
+
"title": "PR title",
|
|
185
|
+
"files": [
|
|
186
|
+
{
|
|
187
|
+
"path": "relative/path.md",
|
|
188
|
+
"action": "modify",
|
|
189
|
+
"description": "what changed"
|
|
190
|
+
}
|
|
191
|
+
],
|
|
192
|
+
"summary": "2-3 sentence explanation"
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
Actually write the changes to the files.
|
|
196
|
+
"""
|
|
197
|
+
context: item
|
|
198
|
+
permissions:
|
|
199
|
+
read: ["{prose_repo}/**"]
|
|
200
|
+
write: ["{prose_repo}/**"]
|
|
201
|
+
|
|
202
|
+
# ============================================================
|
|
203
|
+
# Phase 5: Create PRs
|
|
204
|
+
# ============================================================
|
|
205
|
+
|
|
206
|
+
let prs = implementations | map:
|
|
207
|
+
session: pr_author
|
|
208
|
+
prompt: """
|
|
209
|
+
Create a PR for this VM improvement.
|
|
210
|
+
|
|
211
|
+
Implementation: {item}
|
|
212
|
+
Prose repo: {prose_repo}
|
|
213
|
+
|
|
214
|
+
Steps:
|
|
215
|
+
1. cd to prose repo
|
|
216
|
+
2. Create branch: {item.branch_name}
|
|
217
|
+
3. Stage changed files
|
|
218
|
+
4. Commit with clear message
|
|
219
|
+
5. Push branch
|
|
220
|
+
6. Create PR via gh cli
|
|
221
|
+
|
|
222
|
+
PR body should include:
|
|
223
|
+
- Problem: what inspection revealed
|
|
224
|
+
- Solution: what this changes
|
|
225
|
+
- Testing: how to verify
|
|
226
|
+
|
|
227
|
+
Return: { pr_url, branch, title }
|
|
228
|
+
"""
|
|
229
|
+
context: item
|
|
230
|
+
permissions:
|
|
231
|
+
bash: allow
|
|
232
|
+
|
|
233
|
+
# ============================================================
|
|
234
|
+
# Output
|
|
235
|
+
# ============================================================
|
|
236
|
+
|
|
237
|
+
output result = {
|
|
238
|
+
status: "complete",
|
|
239
|
+
target_run: analysis.target_run,
|
|
240
|
+
opportunities_found: analysis.opportunities,
|
|
241
|
+
opportunities_implemented: implementations,
|
|
242
|
+
prs_created: prs
|
|
243
|
+
}
|