labgate 0.5.30 → 0.5.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +48 -0
  2. package/dist/cli.js +616 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/lib/config.d.ts +11 -0
  5. package/dist/lib/config.js +44 -0
  6. package/dist/lib/config.js.map +1 -1
  7. package/dist/lib/container.d.ts +22 -3
  8. package/dist/lib/container.js +373 -67
  9. package/dist/lib/container.js.map +1 -1
  10. package/dist/lib/display-mcp.d.ts +10 -0
  11. package/dist/lib/display-mcp.js +160 -0
  12. package/dist/lib/display-mcp.js.map +1 -0
  13. package/dist/lib/display-store.d.ts +24 -0
  14. package/dist/lib/display-store.js +150 -0
  15. package/dist/lib/display-store.js.map +1 -0
  16. package/dist/lib/explorer-autopilot.d.ts +16 -0
  17. package/dist/lib/explorer-autopilot.js +573 -0
  18. package/dist/lib/explorer-autopilot.js.map +1 -0
  19. package/dist/lib/explorer-claude.d.ts +16 -0
  20. package/dist/lib/explorer-claude.js +361 -0
  21. package/dist/lib/explorer-claude.js.map +1 -0
  22. package/dist/lib/explorer-compare.d.ts +9 -0
  23. package/dist/lib/explorer-compare.js +190 -0
  24. package/dist/lib/explorer-compare.js.map +1 -0
  25. package/dist/lib/explorer-eval.d.ts +23 -0
  26. package/dist/lib/explorer-eval.js +161 -0
  27. package/dist/lib/explorer-eval.js.map +1 -0
  28. package/dist/lib/explorer-gc.d.ts +11 -0
  29. package/dist/lib/explorer-gc.js +304 -0
  30. package/dist/lib/explorer-gc.js.map +1 -0
  31. package/dist/lib/explorer-git.d.ts +14 -0
  32. package/dist/lib/explorer-git.js +136 -0
  33. package/dist/lib/explorer-git.js.map +1 -0
  34. package/dist/lib/explorer-lock.d.ts +5 -0
  35. package/dist/lib/explorer-lock.js +100 -0
  36. package/dist/lib/explorer-lock.js.map +1 -0
  37. package/dist/lib/explorer-mcp.d.ts +11 -0
  38. package/dist/lib/explorer-mcp.js +611 -0
  39. package/dist/lib/explorer-mcp.js.map +1 -0
  40. package/dist/lib/explorer-retention.d.ts +4 -0
  41. package/dist/lib/explorer-retention.js +58 -0
  42. package/dist/lib/explorer-retention.js.map +1 -0
  43. package/dist/lib/explorer-store.d.ts +77 -0
  44. package/dist/lib/explorer-store.js +950 -0
  45. package/dist/lib/explorer-store.js.map +1 -0
  46. package/dist/lib/explorer-types.d.ts +161 -0
  47. package/dist/lib/explorer-types.js +3 -0
  48. package/dist/lib/explorer-types.js.map +1 -0
  49. package/dist/lib/explorer.d.ts +31 -0
  50. package/dist/lib/explorer.js +247 -0
  51. package/dist/lib/explorer.js.map +1 -0
  52. package/dist/lib/results-mcp.d.ts +2 -2
  53. package/dist/lib/results-mcp.js +26 -4
  54. package/dist/lib/results-mcp.js.map +1 -1
  55. package/dist/lib/results-store.d.ts +1 -0
  56. package/dist/lib/results-store.js +87 -3
  57. package/dist/lib/results-store.js.map +1 -1
  58. package/dist/lib/runtime.d.ts +6 -0
  59. package/dist/lib/runtime.js +46 -19
  60. package/dist/lib/runtime.js.map +1 -1
  61. package/dist/lib/test/integration-harness.js +1 -1
  62. package/dist/lib/test/integration-harness.js.map +1 -1
  63. package/dist/lib/ui.d.ts +1 -0
  64. package/dist/lib/ui.html +11231 -4370
  65. package/dist/lib/ui.js +2564 -277
  66. package/dist/lib/ui.js.map +1 -1
  67. package/dist/lib/web-terminal.d.ts +13 -0
  68. package/dist/lib/web-terminal.js +118 -15
  69. package/dist/lib/web-terminal.js.map +1 -1
  70. package/dist/mcp-bundles/display-mcp.bundle.mjs +30209 -0
  71. package/dist/mcp-bundles/explorer-mcp.bundle.mjs +40044 -0
  72. package/dist/mcp-bundles/results-mcp.bundle.mjs +100 -7
  73. package/package.json +4 -3
  74. package/templates/tsp-lab/API_CONTRACT.md +20 -0
  75. package/templates/tsp-lab/EVAL.md +20 -0
  76. package/templates/tsp-lab/PROBLEM.md +18 -0
  77. package/templates/tsp-lab/data/generate_instances.py +51 -0
  78. package/templates/tsp-lab/data/instances.jsonl +12 -0
  79. package/templates/tsp-lab/eval.py +148 -0
  80. package/templates/tsp-lab/solver.py +88 -0
  81. package/templates/tsp-lab/stub-patches/enable_two_opt.patch +14 -0
package/README.md CHANGED
@@ -94,6 +94,54 @@ labgate policy validate [file] # validate poli
94
94
  labgate logs [-n 20] # view recent audit events
95
95
  labgate logs --follow # stream new audit events
96
96
  labgate init [--force] # create/reset config
97
+ labgate explore create --name <name> --repo <path> --eval "<command>" # create Solution Explorer experiment
98
+ labgate explore tick --experiment <id> # run one autopilot tick (cron-friendly)
99
+ labgate explore overview --experiment <id> # aggregated status/counts/best/latest
100
+ labgate explore run --id <run-id> # run metadata + artifact paths
101
+ labgate explore gc --experiment <id> # retention-based prune (dry-run by default)
102
+ labgate explore compare --experiment <id> --run <run-id> --to best # score+diff compare
103
+ ```
104
+
105
+ ### Solution Explorer (MVP backend)
106
+
107
+ LabGate now includes an early **Solution Explorer** backend for reproducible
108
+ variant search workflows:
109
+
110
+ - Isolated experiment repo clones under `~/.labgate/explorer/repos/`
111
+ - Git worktree-per-run execution
112
+ - Deterministic eval contract parsing (`score` JSON on last stdout line)
113
+ - Per-run artifacts (`eval.json`, logs, diff, summary)
114
+ - Cron-safe autopilot tick lock
115
+
116
+ Starter template:
117
+
118
+ ```bash
119
+ templates/tsp-lab/
120
+ ```
121
+
122
+ Example flow:
123
+
124
+ ```bash
125
+ # Create experiment from a local repo
126
+ labgate explore create \
127
+ --name "TSP baseline" \
128
+ --repo /path/to/tsp-lab \
129
+ --eval "python3 eval.py" \
130
+ --agent-mode stub \
131
+ --stub-patch stub-patches/enable_two_opt.patch
132
+
133
+ # Trigger one run
134
+ labgate explore tick --experiment <experiment-id>
135
+
136
+ # Inspect tree and leaderboard
137
+ labgate explore tree --experiment <experiment-id> --mode best_path
138
+ labgate explore leaderboard --experiment <experiment-id> --top 5
139
+ ```
140
+
141
+ Cron example (every 5 minutes):
142
+
143
+ ```bash
144
+ */5 * * * * /usr/bin/env labgate explore tick --experiment <experiment-id>
97
145
  ```
98
146
 
99
147
  ### Options