specrails-desktop 2.46.0 → 2.48.0
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/README.md +2 -0
- package/client/dist/assets/{ActivityFeedPage-CsHQPpvl.js → ActivityFeedPage-CGq6QhP5.js} +1 -1
- package/client/dist/assets/AgentBrowserCapture-C4GZ-kdf.js +1 -0
- package/client/dist/assets/AgentModeAnalyticsPane-_IPmL0ZS.js +2 -0
- package/client/dist/assets/AgentModeCodePane-B5WG5DOP.js +2 -0
- package/client/dist/assets/{AgentModeJobsPane-rnD-EPMd.js → AgentModeJobsPane-w1N_HIXh.js} +1 -1
- package/client/dist/assets/AgentsPage-CmwnnT46.js +87 -0
- package/client/dist/assets/AnalyticsPage-BUMsKtsJ.js +1 -0
- package/client/dist/assets/CodePage-PjgywJPS.js +3 -0
- package/client/dist/assets/DesktopAnalyticsPage-BXY1pH4y.js +1 -0
- package/client/dist/assets/DocsDialog-ccQETHKB.js +11 -0
- package/client/dist/assets/DocsPage-DzEgplB3.js +11 -0
- package/client/dist/assets/{ExportDropdown-pWZGYCv3.js → ExportDropdown-B8bBGopr.js} +1 -1
- package/client/dist/assets/InteractiveJobComposer-CEwGkJ8F.js +19 -0
- package/client/dist/assets/JobDetailModal-BYXmuTDe.js +1 -0
- package/client/dist/assets/JobDetailPage-CWp6MwJj.js +1 -0
- package/client/dist/assets/JobsPage-D1O1uyG8.js +1 -0
- package/client/dist/assets/{LoopBuilderPage-CtmOE4-b.js → LoopBuilderPage-DQE-7Vby.js} +2 -2
- package/client/dist/assets/{LoopPreviewModal-BYeLjQbr.js → LoopPreviewModal-Bk7zIXD5.js} +1 -1
- package/client/dist/assets/LoopsPage-CqG7mx56.js +1 -0
- package/client/dist/assets/MinimizedChatsContext-UpnqccPx.js +1 -0
- package/client/dist/assets/PluginsPage-CjgVvmpW.js +2 -0
- package/client/dist/assets/{ProjectSettingsDialog-DsCRIc4v.js → ProjectSettingsDialog-D6vBCoay.js} +1 -1
- package/client/dist/assets/{RepositoryDeliveries-BQm_3TO8.js → RepositoryDeliveries-C36ipKp_.js} +1 -1
- package/client/dist/assets/{RepositoryScopeSelector-DnAFtjTz.js → RepositoryScopeSelector-0Gz_fR1E.js} +1 -1
- package/client/dist/assets/ReviewPacketPage-Dr9RYs7q.js +1 -0
- package/client/dist/assets/TemplatePreviewModal-sCMHYFJo.js +1 -0
- package/client/dist/assets/TicketDetailModalContext-C5GgJlEt.js +14 -0
- package/client/dist/assets/{Trans-BwLgX6n7.js → Trans-9pHTy2fH.js} +1 -1
- package/client/dist/assets/{addspec-D2YIQ0GU.js → addspec-BOvgmcgk.js} +1 -1
- package/client/dist/assets/{addspec-B_TPJt-R.js → addspec-Clmyfn_R.js} +1 -1
- package/client/dist/assets/{addspec-A1lDQa4M.js → addspec-CsNaBpHp.js} +1 -1
- package/client/dist/assets/{addspec-CQBjzt24.js → addspec-D2tvWmmV.js} +1 -1
- package/client/dist/assets/{addspec-CLYLvaVP.js → addspec-D3nFwvD0.js} +1 -1
- package/client/dist/assets/{addspec-BPpZ_olp.js → addspec-DVLEhK3w.js} +1 -1
- package/client/dist/assets/{addspec-iFdQ6D99.js → addspec-DXbK-tb0.js} +1 -1
- package/client/dist/assets/{addspec-BHZd0N5F.js → addspec-OHG8DFEn.js} +1 -1
- package/client/dist/assets/agentRuntime-BUimiX__.js +1 -0
- package/client/dist/assets/agentRuntime-BcN97sAB.js +1 -0
- package/client/dist/assets/agentRuntime-Ckyg-ahT.js +1 -0
- package/client/dist/assets/agentRuntime-DJCwyX4t.js +1 -0
- package/client/dist/assets/agentRuntime-DVzPJOl0.js +1 -0
- package/client/dist/assets/agentRuntime-V9AZTG3c.js +1 -0
- package/client/dist/assets/agentRuntime-bAAjw1vw.js +1 -0
- package/client/dist/assets/agentRuntime-v4qKAYH-.js +1 -0
- package/client/dist/assets/{agents-45GbINfh.js → agents-CA5eT1d0.js} +1 -1
- package/client/dist/assets/{agents-DMKFStHL.js → agents-CAgy-5uS.js} +1 -1
- package/client/dist/assets/{agents-IUOgqT5t.js → agents-CNm6Qzlv.js} +1 -1
- package/client/dist/assets/{agents-ms7TwG16.js → agents-CTwbx-fb.js} +1 -1
- package/client/dist/assets/{agents-DaYcxAr1.js → agents-DEGV1Vao.js} +1 -1
- package/client/dist/assets/{agents-BHp0_FQt.js → agents-HsDF1aQU.js} +1 -1
- package/client/dist/assets/{agents-Bvyi3y6R.js → agents-IQjdA-z9.js} +1 -1
- package/client/dist/assets/{agents-rzPnqoBR.js → agents-RkGoteXh.js} +1 -1
- package/client/dist/assets/analytics-BNgZ1Nj7.js +1 -0
- package/client/dist/assets/analytics-BlypLLR6.js +1 -0
- package/client/dist/assets/analytics-CoEzWPx4.js +1 -0
- package/client/dist/assets/analytics-DFh5lSOl.js +1 -0
- package/client/dist/assets/analytics-DZp-DS2U.js +1 -0
- package/client/dist/assets/analytics-DjLlE7jS.js +1 -0
- package/client/dist/assets/analytics-jzCkOec3.js +1 -0
- package/client/dist/assets/analytics-nZIjjtCc.js +1 -0
- package/client/dist/assets/{dashboard-BK_mez-z.js → dashboard-C29Qwa-L.js} +1 -1
- package/client/dist/assets/{dashboard-BwkjxI6H.js → dashboard-CSJzf5OT.js} +1 -1
- package/client/dist/assets/{dashboard-C3bDKf7s.js → dashboard-CTfEtkqX.js} +1 -1
- package/client/dist/assets/{dashboard-Bt0cCzeG.js → dashboard-Cr4D8oMn.js} +1 -1
- package/client/dist/assets/{dashboard-fRrP0Kv0.js → dashboard-Csf1yGSN.js} +1 -1
- package/client/dist/assets/{dashboard-CdvjGfog.js → dashboard-D40HP2ks.js} +1 -1
- package/client/dist/assets/dashboard-DBAP2_SQ.js +1 -0
- package/client/dist/assets/{dashboard-B14uYXkG.js → dashboard-DMklepmz.js} +1 -1
- package/client/dist/assets/file-text-CFT-xXKN.js +1 -0
- package/client/dist/assets/{formatDistanceToNow-CeZv93iR.js → formatDistanceToNow-w_2U5pm0.js} +1 -1
- package/client/dist/assets/{getTimezoneOffsetInMilliseconds-DxAkjvJb.js → getTimezoneOffsetInMilliseconds-BRymg1Kk.js} +1 -1
- package/client/dist/assets/index-D0ScFZvR.css +2 -0
- package/client/dist/assets/index-DORCrgbI.js +77 -0
- package/client/dist/assets/jira-api-BqHbSdxK.js +1 -0
- package/client/dist/assets/jobs-C6qmvUAi.js +1 -0
- package/client/dist/assets/jobs-C9j2PuwW.js +1 -0
- package/client/dist/assets/jobs-DLHdDkHc.js +1 -0
- package/client/dist/assets/jobs-DSp9DoD_.js +1 -0
- package/client/dist/assets/jobs-DTQO08nJ.js +1 -0
- package/client/dist/assets/jobs-DoFaEl9g.js +1 -0
- package/client/dist/assets/jobs-Dpw6AEOP.js +1 -0
- package/client/dist/assets/jobs-DrF8Do8s.js +1 -0
- package/client/dist/assets/{narration-BSldQfjd.js → narration--hUhjM5v.js} +1 -1
- package/client/dist/assets/{narration-DKLjXIFI.js → narration-CHI06czm.js} +1 -1
- package/client/dist/assets/{narration-4OSg0b5-.js → narration-DjKB3pQZ.js} +1 -1
- package/client/dist/assets/{narration-BPMOQPFe.js → narration-DtCYvRLM.js} +1 -1
- package/client/dist/assets/{narration-D-e9ssxA.js → narration-DvLQBW9U.js} +1 -1
- package/client/dist/assets/{narration-DnrKC3mF.js → narration-eSx3gR0W.js} +1 -1
- package/client/dist/assets/{narration-Dypjxeel.js → narration-n3hOA7LY.js} +1 -1
- package/client/dist/assets/{narration-CvQdWdR5.js → narration-thJOeT2-.js} +1 -1
- package/client/dist/assets/packet-BNW8ODQw.js +1 -0
- package/client/dist/assets/packet-CXYvfdjy.js +1 -0
- package/client/dist/assets/packet-CtIlB8YE.js +1 -0
- package/client/dist/assets/packet-DA1SJkMH.js +1 -0
- package/client/dist/assets/packet-DYcWfBip.js +1 -0
- package/client/dist/assets/packet-DseX9yKC.js +1 -0
- package/client/dist/assets/packet-_m5aOy_d.js +1 -0
- package/client/dist/assets/packet-qOemUAm3.js +1 -0
- package/client/dist/assets/{project-repositories-BvBj9XH9.js → project-repositories-BsCs1PPA.js} +1 -1
- package/client/dist/assets/provider-capabilities-Vi1ZGvAK.js +1 -0
- package/client/dist/assets/settings-BsehKpty.js +1 -0
- package/client/dist/assets/settings-CQWob3SB.js +1 -0
- package/client/dist/assets/settings-CgCl0hzy.js +1 -0
- package/client/dist/assets/settings-DLRLd22L.js +1 -0
- package/client/dist/assets/settings-Dn5prAFl.js +1 -0
- package/client/dist/assets/settings-HZSu-K4l.js +1 -0
- package/client/dist/assets/{settings-DEgcA0jd.js → settings-p4OVIyRh.js} +1 -1
- package/client/dist/assets/settings-rddaldUp.js +1 -0
- package/client/dist/assets/setup-B5FHuxvB.js +1 -0
- package/client/dist/assets/setup-BihzXadx.js +1 -0
- package/client/dist/assets/setup-BtC6Hg4K.js +1 -0
- package/client/dist/assets/setup-C9Fy9PKQ.js +1 -0
- package/client/dist/assets/setup-CROyqD5N.js +1 -0
- package/client/dist/assets/setup-DpqzaEEA.js +1 -0
- package/client/dist/assets/setup-Dwzt5nO1.js +1 -0
- package/client/dist/assets/setup-zLEDnG7N.js +1 -0
- package/client/dist/assets/{spending-DNM6NAoA.js → spending-hcgxHP4O.js} +1 -1
- package/client/dist/assets/{useDesktop-mxHVQOdx.js → useDesktop-CAisjKWC.js} +1 -1
- package/client/dist/assets/{useSharedWebSocket-DnxHj8jP.js → useSharedWebSocket-BHIfW4QT.js} +2 -2
- package/client/dist/assets/wrench-BfmNO9Vw.js +1 -0
- package/client/dist/index.html +27 -26
- package/docs/guide/de/integrations/7-local-engines.md +37 -0
- package/docs/guide/en/integrations/7-local-engines.md +37 -0
- package/docs/guide/es/integrations/7-local-engines.md +37 -0
- package/docs/guide/fr/integrations/7-local-engines.md +37 -0
- package/docs/guide/it/integrations/7-local-engines.md +37 -0
- package/docs/guide/ja/integrations/7-local-engines.md +37 -0
- package/docs/guide/pt/integrations/7-local-engines.md +37 -0
- package/docs/guide/zh/integrations/7-local-engines.md +37 -0
- package/docs/internals/adding-a-provider.md +12 -0
- package/docs/internals/local-agent-runner.md +153 -0
- package/docs/internals/review-packet.md +8 -0
- package/docs/local-providers.md +215 -0
- package/docs/plans/implementation-efficiency-artifact.json +18 -0
- package/docs/plans/implementation-efficiency-evaluation.json +1817 -0
- package/docs/plans/implementation-efficiency-evaluation.md +41 -0
- package/docs/plans/implementation-efficiency-progress.md +48 -0
- package/docs/plans/implementation-efficiency-release.md +41 -0
- package/docs/plans/implementation-efficiency.md +124 -0
- package/local-runner/dist/specrails-local-runner.js +15815 -0
- package/package.json +7 -5
- package/server/dist/agent-chat-manager.js +8 -1
- package/server/dist/agent-chat-router.js +5 -2
- package/server/dist/agent-fence-promotion.js +53 -0
- package/server/dist/agent-mcp-config.js +4 -1
- package/server/dist/agent-runtime-bridge.js +35 -26
- package/server/dist/agent-runtime-controls-router.js +20 -1
- package/server/dist/agent-runtime-controls.js +94 -12
- package/server/dist/agent-runtime-effective-config.js +53 -0
- package/server/dist/agent-runtime-events.js +46 -0
- package/server/dist/agent-runtime-history.js +47 -0
- package/server/dist/agent-runtime-loader.js +84 -5
- package/server/dist/agent-runtime-metrics.js +77 -1
- package/server/dist/agent-runtime-package.js +205 -0
- package/server/dist/agent-runtime-settings-router.js +96 -5
- package/server/dist/agent-runtime-settings.js +163 -7
- package/server/dist/agent-spec-framing.js +10 -4
- package/server/dist/binary-probe.js +12 -0
- package/server/dist/blueprint-router.js +3 -2
- package/server/dist/chat-manager.js +5 -1
- package/server/dist/desktop-router.js +87 -4
- package/server/dist/index.js +13 -0
- package/server/dist/interactive-job-session.js +3 -1
- package/server/dist/local-engine-detection.js +118 -0
- package/server/dist/loop-executors.js +4 -3
- package/server/dist/loop-role-engines.js +129 -0
- package/server/dist/loop-run-manager.js +14 -6
- package/server/dist/mcp/tools/app-settings.js +30 -4
- package/server/dist/mcp/tools/rails.js +2 -1
- package/server/dist/pr-body.js +11 -2
- package/server/dist/pricing.js +15 -0
- package/server/dist/provider-detection.js +63 -1
- package/server/dist/provider-selection.js +26 -1
- package/server/dist/providers/index.js +4 -1
- package/server/dist/providers/local-adapter-registry.js +56 -0
- package/server/dist/providers/local-adapter.js +426 -0
- package/server/dist/providers/registry.js +39 -4
- package/server/dist/rail-isolated-launch.js +4 -3
- package/server/dist/rails-router.js +90 -8
- package/server/dist/result-event.js +17 -0
- package/server/dist/review-packet.js +1 -0
- package/server/dist/schemas/agent-runtime.schema.json +28 -3
- package/server/dist/schemas/fixtures/runtime-efficiency-summary.v1.json +790 -0
- package/server/dist/setup-manager.js +5 -1
- package/server/dist/spec-models.js +14 -2
- package/server/dist/worktree-node-modules.js +97 -65
- package/client/dist/assets/AgentBrowserCapture-BVcCK7x0.js +0 -1
- package/client/dist/assets/AgentModeAnalyticsPane-C5F3m29G.js +0 -2
- package/client/dist/assets/AgentModeCodePane-C5QuKsu0.js +0 -2
- package/client/dist/assets/AgentsPage-DiyJWZcU.js +0 -87
- package/client/dist/assets/AnalyticsPage-Dkmb0dnd.js +0 -1
- package/client/dist/assets/CodePage-C0dH99-t.js +0 -3
- package/client/dist/assets/DesktopAnalyticsPage-DuTjr2n8.js +0 -1
- package/client/dist/assets/DocsDialog-BVZJZHVR.js +0 -11
- package/client/dist/assets/DocsPage-D6KHTv8V.js +0 -11
- package/client/dist/assets/InteractiveJobComposer-Ck3PQxjN.js +0 -19
- package/client/dist/assets/JobDetailModal-DkoMH3ie.js +0 -1
- package/client/dist/assets/JobDetailPage-CBVivcl2.js +0 -1
- package/client/dist/assets/JobsPage-CzxEeca9.js +0 -1
- package/client/dist/assets/LoopsPage-6iW7g25k.js +0 -1
- package/client/dist/assets/MinimizedChatsContext-B6wVevPq.js +0 -1
- package/client/dist/assets/PluginsPage-Bf1z3WPF.js +0 -2
- package/client/dist/assets/ReviewPacketPage-CaXAwtR7.js +0 -1
- package/client/dist/assets/TemplatePreviewModal-9aRFpJ_J.js +0 -1
- package/client/dist/assets/TicketDetailModalContext-B1X5glzV.js +0 -14
- package/client/dist/assets/agentRuntime-BUagD2I_.js +0 -1
- package/client/dist/assets/agentRuntime-BkL70WtX.js +0 -1
- package/client/dist/assets/agentRuntime-CWXVqgqE.js +0 -1
- package/client/dist/assets/agentRuntime-CvNBdUAe.js +0 -1
- package/client/dist/assets/agentRuntime-D4RmeuNY.js +0 -1
- package/client/dist/assets/agentRuntime-DTidBWKg.js +0 -1
- package/client/dist/assets/agentRuntime-DhKYfyaU.js +0 -1
- package/client/dist/assets/agentRuntime-LL8_GLx9.js +0 -1
- package/client/dist/assets/analytics-47pYygtV.js +0 -1
- package/client/dist/assets/analytics-B0vt1g5U.js +0 -1
- package/client/dist/assets/analytics-BMzCvrCU.js +0 -1
- package/client/dist/assets/analytics-BlFN3Zwx.js +0 -1
- package/client/dist/assets/analytics-CZYzL-nR.js +0 -1
- package/client/dist/assets/analytics-DAsb9MJ8.js +0 -1
- package/client/dist/assets/analytics-FXQlQ2Yt.js +0 -1
- package/client/dist/assets/analytics-RnFCNkah.js +0 -1
- package/client/dist/assets/dashboard-BfBir_6o.js +0 -1
- package/client/dist/assets/file-text-BcLCfcWZ.js +0 -1
- package/client/dist/assets/index-Cfh9aaep.css +0 -2
- package/client/dist/assets/index-DYoyDWim.js +0 -76
- package/client/dist/assets/jira-api-ChjVGJx_.js +0 -1
- package/client/dist/assets/jobs-5PQJbdOf.js +0 -1
- package/client/dist/assets/jobs-B2B08Oy9.js +0 -1
- package/client/dist/assets/jobs-BJZtBbwb.js +0 -1
- package/client/dist/assets/jobs-BlWEsQb7.js +0 -1
- package/client/dist/assets/jobs-ConfD8xD.js +0 -1
- package/client/dist/assets/jobs-DMPU64ms.js +0 -1
- package/client/dist/assets/jobs-DojASiTp.js +0 -1
- package/client/dist/assets/jobs-kVHkNpB-.js +0 -1
- package/client/dist/assets/packet-BQ2tXfJI.js +0 -1
- package/client/dist/assets/packet-BdpOJ1Cy.js +0 -1
- package/client/dist/assets/packet-C3Ievb9R.js +0 -1
- package/client/dist/assets/packet-C4zJIG0Y.js +0 -1
- package/client/dist/assets/packet-Cx-zRuWn.js +0 -1
- package/client/dist/assets/packet-DUTGX52M.js +0 -1
- package/client/dist/assets/packet-DhsKtUPB.js +0 -1
- package/client/dist/assets/packet-z3LJ8Zyy.js +0 -1
- package/client/dist/assets/provider-capabilities-CXipwrXJ.js +0 -1
- package/client/dist/assets/settings-B3rWEwOx.js +0 -1
- package/client/dist/assets/settings-BcVoiMyw.js +0 -1
- package/client/dist/assets/settings-BlYvaQ7w.js +0 -1
- package/client/dist/assets/settings-CD5uEBiL.js +0 -1
- package/client/dist/assets/settings-CyhS0DLJ.js +0 -1
- package/client/dist/assets/settings-DCMFUGDs.js +0 -1
- package/client/dist/assets/settings-DmbYKyMJ.js +0 -1
- package/client/dist/assets/setup-2xGgu4Sk.js +0 -1
- package/client/dist/assets/setup-Ba11l2JA.js +0 -1
- package/client/dist/assets/setup-BzW4kMok.js +0 -1
- package/client/dist/assets/setup-COzwYhkJ.js +0 -1
- package/client/dist/assets/setup-CRVULhtF.js +0 -1
- package/client/dist/assets/setup-DgvlxwpE.js +0 -1
- package/client/dist/assets/setup-Dw_wYeEY.js +0 -1
- package/client/dist/assets/setup-ZPtEeJPW.js +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Implementation efficiency evaluation
|
|
2
|
+
|
|
3
|
+
Mode: offline. synthetic-fixture-usage; no actual AI savings measured.
|
|
4
|
+
|
|
5
|
+
Monetary target: 20% lower aggregate cost per independently accepted output. Conclusion: inconclusive.
|
|
6
|
+
|
|
7
|
+
{
|
|
8
|
+
"full": {
|
|
9
|
+
"samples": 5,
|
|
10
|
+
"independentlyAccepted": 5,
|
|
11
|
+
"costPerAcceptedUsd": null,
|
|
12
|
+
"medianActiveDurationMs": 10173,
|
|
13
|
+
"minActiveDurationMs": 9718,
|
|
14
|
+
"maxActiveDurationMs": 13922,
|
|
15
|
+
"standardDeviationMs": 1624.2063415711687
|
|
16
|
+
},
|
|
17
|
+
"optimized": {
|
|
18
|
+
"samples": 5,
|
|
19
|
+
"independentlyAccepted": 5,
|
|
20
|
+
"costPerAcceptedUsd": null,
|
|
21
|
+
"medianActiveDurationMs": 10103,
|
|
22
|
+
"minActiveDurationMs": 9566,
|
|
23
|
+
"maxActiveDurationMs": 14355,
|
|
24
|
+
"standardDeviationMs": 1781.4247107301503
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
Correction prompt comparison: [{"caseId":"verification-correction","repeat":0,"fullBytes":4859,"optimizedBytes":1777,"reduction":0.6342868903066474}]
|
|
29
|
+
|
|
30
|
+
- static-tetris, full: succeeded; independent acceptance true; 9764 ms
|
|
31
|
+
- static-tetris, optimized: succeeded; independent acceptance true; 9964 ms
|
|
32
|
+
- local-tested-feature, full: succeeded; independent acceptance true; 9718 ms
|
|
33
|
+
- local-tested-feature, optimized: succeeded; independent acceptance true; 9566 ms
|
|
34
|
+
- cross-repository-contract, full: succeeded; independent acceptance true; 10173 ms
|
|
35
|
+
- cross-repository-contract, optimized: succeeded; independent acceptance true; 10103 ms
|
|
36
|
+
- verification-correction, full: succeeded; independent acceptance true; 11920 ms
|
|
37
|
+
- verification-correction, optimized: succeeded; independent acceptance true; 11917 ms
|
|
38
|
+
- review-correction, full: succeeded; independent acceptance true; 13922 ms
|
|
39
|
+
- review-correction, optimized: succeeded; independent acceptance true; 14355 ms
|
|
40
|
+
|
|
41
|
+
No paid benchmark has established monetary savings.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Implementation efficiency — verification record
|
|
2
|
+
|
|
3
|
+
The local implementation is on `codex/implement-efficiency-runtime` in both repositories. This record supersedes the earlier in-progress notes. Core owns graph semantics and evidence; Desktop owns configuration, presentation, runtime retention and delivery. No additional AI verifier was introduced. Official OpenSpec remains mandatory for architect, developer and reviewer.
|
|
4
|
+
|
|
5
|
+
## Completeness
|
|
6
|
+
|
|
7
|
+
The paired OpenSpec task lists record completed local work individually. Remaining unchecked tasks are distribution gates: native OS/Node release validation, publishing a new authorized Core version, updating both exact Desktop pins and testing that pinned production bundle. A development tarball with package version 5.3.0 is **not** a new published release and must not overwrite the existing one. Do not archive the paired changes before these gates are resolved.
|
|
8
|
+
|
|
9
|
+
## Correctness and implementation mapping
|
|
10
|
+
|
|
11
|
+
| Plan area | Implementation | Evidence |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| C0 / D0 capabilities and original runtimes | Core capabilities/runtime-identity/core-host; Desktop loader/package retainer | Actual original v4 tarball continuation through Desktop, unchanged saved fingerprints; retained dependency closure and nested versions; absent/corrupt provenance recovery; installed CLI/API checks |
|
|
14
|
+
| C1 context and review | repository-context, review-context, role-state, graph/roles | Fair bounded multi-repository packets, explicit truncated/deleted sources, confirmed-session deltas, narrow fresh-session fallback, complete acceptance recertification |
|
|
15
|
+
| C2 role routing | role-routing, transport executors, graph/roles | Two failed candidates counted once each; maxAttempts2 cannot add an attempt; maxAttempts3 routes third candidate; sessionless bounded repair/deepen; requested effort admission |
|
|
16
|
+
| C3 persisted checks | verification-plan, pipeline-state, scoped API/MCP tools | Immutable baseline and harness history, pre-write manifest bounds, source and plan fingerprints, paged output/source access, redaction, pending evidence integrity, installed standalone harness |
|
|
17
|
+
| C4 reuse and scheduling | pipeline-state | Host-only exact snapshot reuse, ignored dependency changes invalidate, external resources ineligible, contiguous independent waves, process-close/cancellation barriers and no successful partial receipt |
|
|
18
|
+
| C5 accounting | workflow ledger, efficiency-summary; Desktop metrics/events/history | Invocation IDs persisted before dispatch, replay deduplication, unknown measurements stay unknown, newer failed/cancelled projections supersede old success, built Core fixtures parsed without sibling checkout |
|
|
19
|
+
| C6 evaluation | evaluation/evaluation-corpus and runtime evaluate CLI | Five frozen cases, full/optimized pairs, independent acceptance and defective variants; opt-in real mode is not executed |
|
|
20
|
+
| D1 / D2 controls | effective-config, bridge, settings router and role controls | Selected launch provider applies to all roles (user clarification); frozen provenance; key/label/cwd/env/timeout/policy survive edits and reordering; actual effort capability gates; eight locales |
|
|
21
|
+
| D3 shared evidence and narration | RuntimeExecutionEvidence, AgentRuntimeRuns, narration-model | Repository-attributed check activity, requested versus reported selection, lazy historical sources/output, bounded pagination, replay-safe narration, real Chromium wheel/keyboard tests in Mission and Board |
|
|
22
|
+
|
|
23
|
+
## Actual validation
|
|
24
|
+
|
|
25
|
+
- Core full CI test stage: **62 files, 883 passed, 1 skipped**, coverage passed. Its expanded package smoke initially exposed an incorrect standalone import; corrected and package gate passed separately.
|
|
26
|
+
- Desktop full `npm run ci`: **8,367 server tests passed (8 skipped)** and **4,897 client tests passed**; coverage, scripts, compatibility, build and package gates passed.
|
|
27
|
+
- Follow-up changes were revalidated with focused suites rather than repeating every unrelated slow suite: Core workflow/metrics/plan/pipeline group **103 passed**; API/MCP/CLI/Kimi group **71 passed**; final pipeline/plan group **63 passed**; pending-evidence/event/cancellation group **13 passed**. Desktop settings/loader **48 passed**, controls/metrics **43 passed**, final settings/evidence/narration **70 passed**.
|
|
28
|
+
- Core and Desktop typechecks/builds passed after their respective final source edits. The installed Core package checks two CLI entries, a symlinked CLI entry, four provider assemblies, four frozen journals, and a persisted multi-file harness/evidence resolver. Desktop production npm package checks passed again after final UI changes.
|
|
29
|
+
- Final compiled Desktop + isolated npm-installed Core smoke: **passed** failure/correction, configured reviewer escalation, persisted harness, reuse and invalidation, archive approval, fresh nonterminal recertification and zero replay on terminal continuation. The source sibling was not selected.
|
|
30
|
+
- Directory-alias retention regression: **5 passed, 1 optional sibling integration skipped**; the actual installed-package paired smoke above independently covers the distribution path.
|
|
31
|
+
- Actual v4 continuation: passed through original retained runtime. Actual retained current runtime/dependency-closure boot: passed. No saved request/checksum was rewritten to make a fixture pass.
|
|
32
|
+
- Real Chromium short-viewport evidence smoke: **Mission and Board passed** wheel scrolling and keyboard access to long lists and output. All eight locale key sets match.
|
|
33
|
+
- Both changes pass `openspec validate implementation-efficiency --strict`; both repositories pass `git diff --check`.
|
|
34
|
+
|
|
35
|
+
The full suites preceded small final fixes; the focused checks above are the final-change evidence, not a claim that every full suite was rerun after every edit. Native Windows/macOS release jobs cannot be certified from this local development run. Existing script/parity/package tests passed; native distribution remains a release gate.
|
|
36
|
+
|
|
37
|
+
## Coherence and explicit limits
|
|
38
|
+
|
|
39
|
+
- Five graph phases remain; deterministic verification does not call a model. Acceptance and host delivery gates were not relaxed.
|
|
40
|
+
- API metadata is cached by runtime content identity. Transport/model capability probes are deduplicated within a query and refreshed across queries, deliberately avoiding stale installed-provider/configuration evidence.
|
|
41
|
+
- Context and check reuse fail closed when compatibility or identities cannot be proven. Requested models/efforts are never reported as provider-observed values.
|
|
42
|
+
- The offline report measures fixed fixture mechanics, not actual AI billing or production throughput. No paid model benchmark has run, and economic tiers remain opt-in.
|
|
43
|
+
- Local Core artifact identity and downstream handoff are recorded in `implementation-efficiency-artifact.json`. Its source commit is the branch baseline because these development changes are uncommitted; content integrity identifies the actual artifact. Commits made afterwards do not retroactively change that build-time manifest.
|
|
44
|
+
- No npm release or new production pin has been created. The user subsequently authorized new branches, commits and paired pull requests.
|
|
45
|
+
|
|
46
|
+
## Archive assessment
|
|
47
|
+
|
|
48
|
+
Local implementation and regression evidence are recorded here. **Release-blocking incomplete tasks remain**: Core 8.2 (native matrix portion), Desktop 5.4 (native matrix portion), 6.1 (published package/pins) and 6.2 (pinned production bundle). Complete those explicit release steps before archive. The unrun paid experiment is a measurement limitation, not an implementation blocker.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Implementation efficiency — operator and release handoff
|
|
2
|
+
|
|
3
|
+
The paired change lives on `codex/implement-efficiency-runtime` in Desktop and Core. Core owns graph semantics, transport support, checks, receipts and evidence; Desktop owns provider connections, role settings, launch intent, original-runtime retention and delivery. There is no additional verifier model.
|
|
4
|
+
|
|
5
|
+
## User-facing behavior
|
|
6
|
+
|
|
7
|
+
- Project role settings remain authoritative. A selected rail/Mission provider applies to **all three roles**; explicit launch model/effort applies to all three as well. Without a selected provider, project role assignments remain authoritative. Provider-specific model defaults apply only where a model is absent. New runs record the resolved selections and origins; resume retains the original request.
|
|
8
|
+
- Effort is optional and is offered from the actual installed model/transport response. An unconfirmed saved value remains visible, and admission rejects it until it is supported or replaced by provider default. Base and optional same-provider escalation models are queried separately. Provider/model edits invalidate displayed compatibility.
|
|
9
|
+
- Advanced efficiency settings control context, review, planning, developer-proposed checks and a one-to-four concurrency limit. They do not fabricate reusable or independent checks. Higher-tier routing is unset by default and cannot create additional attempts.
|
|
10
|
+
- Board and Mission use the same implementation/evidence section. Sources and stdout/stderr load on demand with bounded pagination. Wheel and keyboard scrolling are independently available in the list and output panes.
|
|
11
|
+
- Results identify the repository, check origin and executed/reused/not-run disposition. Requested role configuration is separate from observed values, which stay unknown unless reported. A later failed continuation replaces the current projection even if it lacks optional metrics. Older usage remains historical; Core settlement gates remain authoritative.
|
|
12
|
+
- Removing the worktree or original runtime disables continuation and delivery. Validated historical projections can still show the recorded result; evidence remains readable while its original retained runtime and evidence files exist. Historical success is not proof that a current candidate remains valid.
|
|
13
|
+
|
|
14
|
+
## Compatibility and recovery
|
|
15
|
+
|
|
16
|
+
New runs retain their Core package **and production dependency closure**, fingerprinted by contents. Replacing the active package cannot redirect existing jobs. Restore the retained package on integrity failure; do not substitute a similarly versioned runtime. Legacy requests without recorded provenance are intentionally not guessed or rewritten. The v4 compatibility fixture was created with the original runtime and continued through Desktop's actual retainer without changing its frozen request/checksums.
|
|
17
|
+
|
|
18
|
+
To roll back new-run behavior, select the prior released Core for new admissions. Keep referenced retained runtimes and state. Do not delete `runtime-packages` while saved jobs refer to them. The efficiency controls require a matching capability-enabled Core; old API1 remains usable without requesting new fields.
|
|
19
|
+
|
|
20
|
+
## Reproducible local checks
|
|
21
|
+
|
|
22
|
+
```sh
|
|
23
|
+
# Core
|
|
24
|
+
npm run ci
|
|
25
|
+
node bin/specrails-core.mjs runtime evaluate --output /tmp/specrails-efficiency-evaluation
|
|
26
|
+
|
|
27
|
+
# Desktop, after building both repositories
|
|
28
|
+
npm run ci
|
|
29
|
+
node scripts/smoke-agent-runtime-pair.mjs --core /absolute/path/to/core/dist/agent-runtime/index.js
|
|
30
|
+
node scripts/smoke-runtime-evidence.mjs
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The paired smoke uses an isolated deterministic local HTTP provider and real OpenSpec, including a failed check and developer correction, a bounded reviewer escalation, a persisted harness, evidence discovery, conservative reuse, archive approval, fresh verification on nonterminal continuation and zero model replay on terminal reads. Browser smoke uses the actual shared React section, built client CSS, synthetic data and a short viewport; it reads no user database and calls no AI provider.
|
|
34
|
+
|
|
35
|
+
Core ships generated schema1 summary fixtures for ordinary success, correction, failure, reuse, invalidation, incomplete metrics and unavailable evidence. Desktop keeps an exact test copy so parser tests do not require a sibling checkout. The paired package check compares the shipped fixture when available.
|
|
36
|
+
|
|
37
|
+
## Release boundary
|
|
38
|
+
|
|
39
|
+
The working Core package is still version 5.3.0 with a different content identity; it is **not** a newly published 5.3.0. Do not overwrite that release or update Desktop to a guessed version. Publish a new authorized Core version, record its npm integrity, then update `scripts/assemble-bundled-core.lock.json` and `.github/workflows/desktop-release.yml` together. Assemble and smoke that exact production bundle separately from source-build checks. Run the existing Windows and macOS release matrix before distribution.
|
|
40
|
+
|
|
41
|
+
No real-provider benchmark has been authorized or run. The final offline fixture accepted 5/5 cases in each mode and reduced the fixed correction prompt by 63.4%; this is not a monetary or speed claim. Real model selections, aggregate spend and any decision to enable economic routing remain explicit experiment inputs.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Implementación de agentes: eficiencia y calidad
|
|
2
|
+
|
|
3
|
+
Estado: **plan preparado; implementación pendiente**. Fecha: 13 de septiembre de 2026.
|
|
4
|
+
|
|
5
|
+
La siguiente fase se realizará con **GPT-6 Astra y esfuerzo de razonamiento medium**. Esa elección corresponde al asistente que implementará estos cambios. No asigna Astra a los roles que ejecutan los usuarios dentro de Specrails.
|
|
6
|
+
|
|
7
|
+
## Objetivo y medida de éxito
|
|
8
|
+
|
|
9
|
+
Reducir el coste total y el tiempo necesarios para obtener una implementación que cumpla sus criterios de aceptación, conservando o mejorando la detección de defectos. Contarán también los intentos fallidos, reparaciones, reanudaciones y rescates; optimizar únicamente una llamada ocultaría el coste real del trabajo.
|
|
10
|
+
|
|
11
|
+
No hay ahorro de IA demostrado todavía. La validación local comprobará la mecánica y las regresiones. Un experimento posterior, con modelos y presupuesto explícitos, medirá el ahorro real.
|
|
12
|
+
|
|
13
|
+
## Documentos que guían la implementación
|
|
14
|
+
|
|
15
|
+
| Documento | Uso |
|
|
16
|
+
|---|---|
|
|
17
|
+
| [Core: propuesta](../../../specrails-core/openspec/changes/implementation-efficiency/proposal.md) | Alcance y motivación |
|
|
18
|
+
| [Core: diseño](../../../specrails-core/openspec/changes/implementation-efficiency/design.md) | Decisiones del runtime, reanudación, evidencias y evaluación |
|
|
19
|
+
| [Core: contrato compartido](../../../specrails-core/openspec/changes/implementation-efficiency/contracts.md) | Fuente única de campos, versiones, herramientas y semántica entre repositorios |
|
|
20
|
+
| [Core: tareas](../../../specrails-core/openspec/changes/implementation-efficiency/tasks.md) | Bloques C0–C7 y pruebas de aceptación |
|
|
21
|
+
| [Desktop: propuesta](../../openspec/changes/implementation-efficiency/proposal.md) | Alcance del producto |
|
|
22
|
+
| [Desktop: diseño](../../openspec/changes/implementation-efficiency/design.md) | Configuración, logs, historial y compatibilidad |
|
|
23
|
+
| [Desktop: tareas](../../openspec/changes/implementation-efficiency/tasks.md) | Bloques D0–D5 y pruebas de aceptación |
|
|
24
|
+
|
|
25
|
+
Los requisitos verificables viven en los directorios `specs/` de ambos cambios OpenSpec. Las tareas permanecen sin marcar hasta implementar y comprobar su resultado. Este documento orienta el trabajo; no sustituye ni duplica el contrato de Core.
|
|
26
|
+
|
|
27
|
+
Base preparada desde `main` después de hacer pull:
|
|
28
|
+
|
|
29
|
+
- Core: `2427141b`.
|
|
30
|
+
- Desktop: `d8d8597a`.
|
|
31
|
+
- Rama de ambos: `codex/implementation-efficiency`.
|
|
32
|
+
|
|
33
|
+
Antes de implementar se revisará si main ha avanzado, conservando estos documentos y cualquier trabajo local. No se reinicia desde cero ni se vuelven a implementar correcciones que ya están en main.
|
|
34
|
+
|
|
35
|
+
## Decisiones de producto y arquitectura
|
|
36
|
+
|
|
37
|
+
El flujo seguirá siendo **arquitecto → developer → verificación automática → reviewer → archivo**. La verificación ejecuta código y comandos; el reviewer interpreta si el cambio satisface el ticket y detecta problemas de diseño. Un test fallido vuelve al developer antes de gastar otra llamada del reviewer. No se añade un agente verifier.
|
|
38
|
+
|
|
39
|
+
El arquitecto seguirá utilizando el procedimiento oficial de OpenSpec para preparar el cambio, y el developer ejecutará OpenSpec apply. Se conservan los procedimientos y herramientas oficiales para cada proveedor. La optimización no reemplaza OpenSpec por plantillas simuladas ni permite eliminar sus obligaciones desde prompts personalizados.
|
|
40
|
+
|
|
41
|
+
| Cambio | Cómo contribuye | Condición que protege la calidad |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| Contexto compartido por repositorio | Evita reenviar datos sin cambios en continuaciones reales | Primera llamada y proveedores sin continuidad reciben contexto completo; fuentes eliminadas se revocan explícitamente |
|
|
44
|
+
| Revisión incremental | Orienta al reviewer a las correcciones desde su revisión anterior | Debe recertificar todos los criterios; cambios transversales fuerzan contexto completo |
|
|
45
|
+
| Plan proporcional | Reduce explicación redundante en cambios locales claros | Mismos artefactos oficiales; contratos públicos, seguridad, migraciones y varios repos exigen planificación completa |
|
|
46
|
+
| Escalado configurado | Permite reservar un modelo superior para intentos que lo necesitan | Un solo tier, mismo proveedor, sin intentos adicionales ni selección automática por precio |
|
|
47
|
+
| Checks propuestos por developer | Convierte pruebas útiles en evidencias reproducibles | Se añaden al mínimo obligatorio; no pueden rebajarlo ni autodeclararse aprobados |
|
|
48
|
+
| Harness persistente | Permite revisar y repetir pruebas incluso sin package.json | Core guarda fuente, ejecución y hashes fuera de la entrega; agentes leen por herramientas acotadas |
|
|
49
|
+
| Reutilización de verificaciones | Evita ejecutar de nuevo pruebas cuyo resultado sigue siendo aplicable | Desactivada por defecto; requiere garantías explícitas del host e identidad completa |
|
|
50
|
+
| Paralelismo de checks | Reduce tiempo en repositorios independientes | Concurrencia 1 por defecto, máximo 4, grupos declarados y barreras sin reordenar el plan |
|
|
51
|
+
| Evidencias y rutas visibles | Permite entender qué se hizo, por qué y cuánto costó | Misma vista en misión/board; desconocido no se convierte en cero ni en éxito |
|
|
52
|
+
|
|
53
|
+
## Escalado concreto
|
|
54
|
+
|
|
55
|
+
Los modelos base continúan siendo los configurados por el usuario. El escalado es opcional y queda vacío por defecto.
|
|
56
|
+
|
|
57
|
+
- Arquitecto: el único deepen permitido puede utilizar el modelo superior.
|
|
58
|
+
- Developer: tras dos candidatos fallidos, contando el inicial, el siguiente intento ya autorizado utiliza el superior. Con tres intentos, puede escalar en el tercero. Con dos, termina sin inventar un tercero.
|
|
59
|
+
- Reviewer: rechazar una implementación no escala el modelo. El tier superior puede sustituir su única reparación de respuesta inválida.
|
|
60
|
+
- Autenticación, falta de permisos/capacidad, cancelación, integridad o presupuesto agotado no provocan escalado.
|
|
61
|
+
|
|
62
|
+
Cambiar modelo o esfuerzo abre una sesión compatible con contexto completo. La decisión queda persistida antes de invocar al proveedor y se conserva al reanudar. Los límites lógicos de una reparación y un deepen no dependen de que el proveedor permita continuar una sesión; una llamada sin sesión recibe también el resultado anterior y su diagnóstico, acotados.
|
|
63
|
+
|
|
64
|
+
## Responsabilidad por repositorio
|
|
65
|
+
|
|
66
|
+
Core implementa la política de ejecución, capacidades del transporte, contexto, sesiones, rutas, checks, evidencias y validez. Desktop configura, presenta y conserva proyecciones; no decide por su cuenta que una prueba sigue siendo válida.
|
|
67
|
+
|
|
68
|
+
Se corregirá la precedencia actual de selección: una asignación explícita por rol prevalece sobre defaults incidentales del lanzamiento. Aclaración del usuario (2026-09-13): el proveedor seleccionado para un lanzamiento afecta a arquitecto, developer y reviewer, con procedencia registrada; un modelo o esfuerzo explícito del lanzamiento se aplica igualmente a los tres. Reanudar siempre usa la configuración congelada de esa ejecución.
|
|
69
|
+
|
|
70
|
+
Desktop ampliará las filas de roles existentes con esfuerzo compatible y escalado opcional. También conservará todos los campos de los checks al editarlos, incluidos cwd, entorno, timeout y política. No se duplicarán secciones por proveedor ni se trasladarán de nuevo las conexiones globales o los prompts que ya tienen su ubicación.
|
|
71
|
+
|
|
72
|
+
## Orden de trabajo
|
|
73
|
+
|
|
74
|
+
| Etapa | Bloques | Entregable y comprobación para avanzar |
|
|
75
|
+
|---|---|---|
|
|
76
|
+
| 1. Compatibilidad y contratos | C0 + D0 | Schema y capacidades probados, runtime original retenido, fixture real v4 que continúa sin reescribir checkpoints |
|
|
77
|
+
| 2. Contexto y configuración | C1 + D1 | Menos contexto repetido con continuidad real, aceptación íntegra y configuración por rol preservada en todos los lanzamientos |
|
|
78
|
+
| 3. Rutas y controles | C2 + D2 | Escalado determinista, esfuerzo soportado, límites y sesión correctos; controles claros |
|
|
79
|
+
| 4. Evidencia reproducible | C3 | Plan aditivo y harness persistente; reviewer API/MCP puede leer fuentes y páginas de logs |
|
|
80
|
+
| 5. Verificación eficiente | C4 | Reutilización conservadora, grupos paralelos declarados y cancelación que espera a los procesos |
|
|
81
|
+
| 6. Observabilidad e interfaz | C5 + D3 | Métricas sin duplicación y mismo panel desplazable en misión/board, también tras limpieza |
|
|
82
|
+
| 7. Evaluación e integración | C6 + C7 + D4 | Corpus offline, defectos sembrados detectados, pruebas del paquete real y del par Desktop/Core |
|
|
83
|
+
| 8. Preparación de release | D5, tras paquete Core disponible | Pins exactos coherentes, bundle de producción validado, reanudaciones antiguas preservadas |
|
|
84
|
+
|
|
85
|
+
Se puede trabajar en paralelo en Core y Desktop cuando el contrato correspondiente esté fijado. No se delegarán cambios simultáneos en los mismos archivos. Cada bloque terminará con pruebas focalizadas; la batería completa se ejecutará sobre el resultado integrado, evitando repeticiones costosas sin cambios que las justifiquen.
|
|
86
|
+
|
|
87
|
+
## Casos que tienen que quedar demostrados
|
|
88
|
+
|
|
89
|
+
1. Codex/Claude/Gemini con continuidad comprobada reciben el seguimiento adecuado; API y Kimi ACP sin continuidad reciben contexto completo. Un transporte que ignora resume no puede ejecutar un prompt incompleto.
|
|
90
|
+
2. Varios repositorios mantienen identidad y contexto legible. La eliminación de un AGENTS.md no deja sus instrucciones presentadas como vigentes.
|
|
91
|
+
3. Corregir una parte del cambio no hereda aprobaciones antiguas. Alterar scope congelado bloquea aunque se envíe contexto completo.
|
|
92
|
+
4. Un proyecto estático sin manifiesto puede producir un harness que el reviewer inspecciona y Core conserva. Una declaración inválida no escribe fuentes ni lanza comandos.
|
|
93
|
+
5. Cambiar pruebas, entorno, fuente o dependencias invalida la evidencia aplicable. Un éxito anterior no oculta un fallo posterior. Cambiar node_modules con el mismo lockfile tampoco permite reutilización.
|
|
94
|
+
6. Reanudar un workflow no terminado no evita la política de checks: antes de reviewer/archive se repiten los no reutilizables y se recertifica la autorización. Leer un resultado ya archivado no ejecuta nada de nuevo.
|
|
95
|
+
7. Un check paralelo fallido detiene la cola y espera la terminación de los procesos activos. El timeout respeta el tiempo restante del workflow.
|
|
96
|
+
8. Un job que falla y luego termina muestra el resultado actual y conserva el fallo histórico sin duplicar coste. Una continuación posterior sin métricas no hereda el éxito antiguo como actual.
|
|
97
|
+
9. La limpieza del worktree conserva el resumen histórico. Si las evidencias detalladas desaparecen, la UI lo explica sin inventarlas ni permitir una continuación incompatible.
|
|
98
|
+
10. El paquete publicado y el bundle soportan lo mismo que se validó en desarrollo. Los tests no dependen de tener un checkout hermano para no ser omitidos.
|
|
99
|
+
|
|
100
|
+
## Evaluación del ahorro
|
|
101
|
+
|
|
102
|
+
Habrá cinco casos congelados: lógica estática tipo Tetris, mejora local con tests existentes, cambio entre repositorios, verificación que falla y corrección tras rechazo del reviewer. Cada caso tendrá aceptación independiente y variantes defectuosas que el evaluador debe rechazar.
|
|
103
|
+
|
|
104
|
+
La prueba offline exigirá reducir al menos un 40% el prompt de corrección de un caso fijo con contexto largo, sin añadir invocaciones ni perder requisitos. Eso demuestra una reducción de payload en ese caso, no un 40% de ahorro real de IA.
|
|
105
|
+
|
|
106
|
+
El experimento con proveedores reales separará dos comparaciones: mismos modelos para medir la orquestación, y modelos configurados con escalado para medir la política. Se parte de tres réplicas emparejadas por caso, con orden aleatorio, sesiones/workspaces nuevos y estado de caché registrado.
|
|
107
|
+
|
|
108
|
+
Objetivo experimental: al menos un 20% menos de coste agregado por implementación aceptada independientemente, menor mediana de tiempo activo, sin caída observada de aceptación ni nuevos defectos altos/críticos. Si faltan costes, no hay resultados aceptados o la muestra no permite concluir, se declara inconcluso. No se cambia el criterio de aceptación para conseguir una cifra favorable.
|
|
109
|
+
|
|
110
|
+
Implementar el runner offline y el modo opt-in forma parte del alcance. **Ejecutar el experimento de pago requiere elegir los modelos y aportar un presupuesto explícito**; no se lanzará durante esta preparación ni por defecto en CI.
|
|
111
|
+
|
|
112
|
+
## Instrucción para iniciar la siguiente fase
|
|
113
|
+
|
|
114
|
+
Configurar el asistente de implementación como **GPT-6 Astra / medium** y continuar con esta instrucción:
|
|
115
|
+
|
|
116
|
+
> Implementa los cambios OpenSpec `implementation-efficiency` en specrails-core y specrails-desktop siguiendo el plan de `docs/plans/implementation-efficiency.md`. Empieza por C0 + D0 y respeta el contrato compartido de Core. Usa OpenSpec apply, conserva los cambios locales y la rama preparada, implementa por bloques verificables y marca tareas solo tras comprobarlas. Mantén OpenSpec oficial y los cinco pasos actuales; no añadas otro agente verifier, no debilites aceptación ni inventes soporte de proveedores. Completa código, pruebas offline e integración local. Conserva la compatibilidad de las ejecuciones guardadas y separa el paquete publicado/bundle de las pruebas con fuente local. No ejecutes benchmarks con proveedores de pago sin modelos y presupuesto explícitos. Reporta cualquier gate de release que dependa de publicar primero Core; no lo marques como probado con un bundle de desarrollo.
|
|
117
|
+
|
|
118
|
+
El cambio de modelo se realiza al iniciar esa fase; escribir esta instrucción no modifica el modelo de la conversación ni el de los roles de Specrails.
|
|
119
|
+
|
|
120
|
+
## Comprobación de esta preparación
|
|
121
|
+
|
|
122
|
+
Ambos cambios pasan `openspec validate implementation-efficiency --strict --json`, sin incidencias. OpenSpec reconoce propuesta, diseño, specs y tareas completos. Hay 44 tareas pendientes en Core y 30 en Desktop; no se han marcado como implementadas.
|
|
123
|
+
|
|
124
|
+
Se revisaron por separado ejecución por roles, verificación y Desktop, y se incorporaron las correcciones al contrato y a los escenarios. Los enlaces locales y el formato de los 15 archivos de planificación están comprobados. Los cambios de esta preparación son únicamente documentación; las pruebas de producto y el benchmark pertenecen a la siguiente fase.
|