elanous 0.2.37 → 0.2.40
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/apps/pwa/out/404/index.html +1 -1
- package/apps/pwa/out/404.html +1 -1
- package/apps/pwa/out/_next/static/{8kITumG9GAZ1LwT9POrAR → HjeK7zONHfR7op1hKXp4k}/_buildManifest.js +1 -1
- package/apps/pwa/out/_next/static/chunks/{1746.3563617ea64023a3.js → 1060.014f1f01a17aec26.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{9151.a2c51e93f9156dae.js → 1281.d81877e35b9068f4.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1350.59f40e39e02d91b1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1415.79821ec7ae99acdb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1452.162bb2d9d699e82a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/147.f92f63bbc5e85fa5.js +286 -0
- package/apps/pwa/out/_next/static/chunks/1537-6bb97b5214928ea9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1661.fb425a1d8a065b72.js +149 -0
- package/apps/pwa/out/_next/static/chunks/1671-1c22b40b50b208f2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1758.0204d3f48783c49d.js +90 -0
- package/apps/pwa/out/_next/static/chunks/1806.027bf78b6a94d340.js +104 -0
- package/apps/pwa/out/_next/static/chunks/{3578.4e9f9948a9a6f2f4.js → 2047.8f23e210995d4548.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/2061-7f2bbc53ae96c88b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{7424.c0fe2a595d4232b5.js → 2066.a77257c8c350770a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2096-a938496bc996dcbd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4931.95cc6dbd230774ca.js → 2177.df8547f9d7215c4e.js} +16 -16
- package/apps/pwa/out/_next/static/chunks/2200-9a453b8f99687d49.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6680.6a693c28aae4cd19.js → 2226.2cf61ec781827219.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/2281-b8cede695c6c650e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2499.02fbfd18126c10c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6252.240578f10952e091.js → 2522.f2766b76d22c8bdf.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{1262.a89bb27a5b2f844e.js → 2566.beaffc3a5e1fcd2e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/261.0d471e8aded799f3.js +226 -0
- package/apps/pwa/out/_next/static/chunks/2615.3c9738153de3ef3f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2727.e703d99ac414916d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2752.7904b8df0254d0ae.js +27 -0
- package/apps/pwa/out/_next/static/chunks/2762-5051a862dfa40e99.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2767-31784bfedf8e245d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2318-450e75d07605b8fe.js → 2774-719820e3f5b2a3eb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/2812-f016aa0dda149287.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4725-34bed25720cc326b.js → 2829-734fe8bf2eee7347.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/311-32dcac79970985e8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3175-f93f7495cd28253c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3184.8da993f5502d2140.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3231-d7c981db0ff8bdcc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3250.151309c5176d6b4b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3330.7443183b7e6fdbdf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3517.a5aa1797a9dbf2ee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3567-45f676877ed9e8a5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3746-f80a78f220bf37b5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3819.8a1de79b2e8c7298.js +24 -0
- package/apps/pwa/out/_next/static/chunks/39.9b37b0be4c128a83.js +77 -0
- package/apps/pwa/out/_next/static/chunks/{4337e36d.f42c3b391b3d8f20.js → 3b355b3d.6f73c98bf6f9c749.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4023.a19045970a9ce16a.js +36 -0
- package/apps/pwa/out/_next/static/chunks/{58edce7d.f1b0c72acf13b123.js → 409c787b.e48c5bec8ec10456.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/413-24c8284bda08241d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4135.e45d6ebc29e20647.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4283.65502f5d0e6ff6c0.js +287 -0
- package/apps/pwa/out/_next/static/chunks/4305-4e28fa92a7b34a5b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4335-50efa61fd7613142.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4351.0f37a6db2b34d50b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5046.7fd5cbd859299448.js → 470.51a72a2348306455.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/4720.ecbd1693fa151068.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2375.bf364c85dbb6f085.js → 4769.9fd582071301f382.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/483.725e4a61be922788.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{de8446d3.31b73eb239fecd7b.js → 4864a2ca.1c1c280a7772c5e5.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/4969-4b209d7307410c00.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5068-c7f53862f83c0917.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5315.bc96711c24dfefe2.js +74 -0
- package/apps/pwa/out/_next/static/chunks/{4383.18e5c54db3a22c88.js → 5383.bdfa5d886e39a826.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5436.fdf6fa8ae3e9588d.js +64 -0
- package/apps/pwa/out/_next/static/chunks/5542.efbf14f16baed4dd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5622.94893f5aea7185d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5644.8f401a25601d05fc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5658.35f70eb9871a54bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5721.7bdc0e904c76ab51.js +8 -0
- package/apps/pwa/out/_next/static/chunks/5790-eef0ca20884a6bdf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5802.ef0d8598ca68fe84.js +62 -0
- package/apps/pwa/out/_next/static/chunks/5890.fb974729788dcb71.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5924.5ef25cddd36d5dbf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5979-e59c099ebf8d1f35.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6020.714cfeada2315e2e.js +94 -0
- package/apps/pwa/out/_next/static/chunks/6027-dfe0349d8c50f698.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6745-5a63492933959dd9.js → 6051-0ae955eedb10adb9.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/6178.bc4730c86cf74536.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2283.edd9627b7bdfb546.js → 6257.c0037b8949239f5e.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/6273.d808b0dcb3c2b155.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6292.6ef1df64fa6a4c8a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/647-af8dd920ba46533c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6541-170dc5c59e135c0c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6624.981ef7caeb680560.js +32 -0
- package/apps/pwa/out/_next/static/chunks/6742-a1ad4a94ba7bc37a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{6819.be5c9c4d67f22922.js → 6749.0744ce6eb08d40e9.js} +16 -16
- package/apps/pwa/out/_next/static/chunks/6836-493dc55c39187949.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6856-53ac421c06039a18.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6908.06008c67f6380ea9.js +148 -0
- package/apps/pwa/out/_next/static/chunks/6915.096931864206f522.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6925.5e181fb7dcf90193.js +1 -0
- package/apps/pwa/out/_next/static/chunks/6cc1d1d6.9a98dd4622f1afc6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7203-800e11037adc41eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7219-15bdd9a80661af8e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7279.6170f591105936bb.js +93 -0
- package/apps/pwa/out/_next/static/chunks/7349-373165c7fbdcc3df.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7514-a533ba0ca1cae4f4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7515.1ad6efe157fa4448.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7521.d919cc1fab80c1d9.js +24 -0
- package/apps/pwa/out/_next/static/chunks/7538.90e97bbdf9178cff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7611.85f045bf232053ac.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7825-39203196a12579b2.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7869.5e1a9a12fd70d6c7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8086.1ab9103c41be884f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8099.1cccf31c1baa7e1c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8179-e61fffbdb70f1152.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8265.bdeb991b34db6a06.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{2002-a43a3f380df873ec.js → 8272-025653884f9645d2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{7867.e8725745ddd1d940.js → 8357.1aaa713b052a78b1.js} +4 -4
- package/apps/pwa/out/_next/static/chunks/8638-e42615f2166165b5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8639-92c11d069792429e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8691.54e22831d5e8ccf8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8d173e38.18a2f7b4e1848bdb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9069.657590a84afb8fac.js +41 -0
- package/apps/pwa/out/_next/static/chunks/9125-ae588d88a0293b93.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4313.76f232c304a15bde.js → 9175.2de5209a5ce6f68a.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9184.45afbf44fec87574.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{8c58d09b.e8724a299658d86f.js → 9189505a.980427ac048c8c60.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9311.f9f641a46a508611.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9371-a6fee8378ebfa3ee.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9421-3aa9ff4fa7f63d8a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9992.07ce73c10bd5e6a1.js +79 -0
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-1b948637c37b3abd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-c63400f1bcf3e47c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-95d0957267819586.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-ba957ff875a026a0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-bb6fd0714879cb87.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-8f9038520d2acbef.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-d4b48397e05fce2c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-72d5744245dc0c27.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-37625dc8300fa43a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-fbef9d160272dbc1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-58424168df84928e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-72c12ba430ac57c0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/page-d53f3e9ed806d7e0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/field/page-4d2fbd45feee0829.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-8783dc0ed7590a2c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-3706cb390606e930.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-9b0a86598e0111fd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/{page-3337c6a1328c2674.js → page-4edb8df90f4537ce.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-83d27757e2b8060a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-47398b9ba1cc5e1b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-fb86f55cfe2e681d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-e22345fc8fd47b1b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/morning/{page-1e5da297557d2354.js → page-fca2e59a81744d9e.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-6e96bda63100b31e.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-4d17ad8e0db8cea4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-121f92766c33beaa.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-43f14212c545f92d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-ccec2023e7a974ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-b04f33f548b89a94.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-c8792823c0917021.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-8c0e32782ceef4cb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-94bd3922eb230ce8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-bca565887bafa03c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-ac1dffafe649fc6c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-52374edb5e23e455.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-ad4ebca120d43ca7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-76394dc618d322c8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-718b89ce4b4ae4e4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-204eca33eeeaddec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-e58ba9bcdb9ac0f9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-98f6dd50bafd7734.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/{page-ac2c1e6169cfce57.js → page-139d722de1dcd6c1.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-5a4bdd72bff27057.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-6f6ab17d44f984ce.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-aabb7bd15fb72da9.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-e4322319164a4436.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-e9efc0c8f32e2371.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/{page-c1c80e345fa9d6f5.js → page-ccde99f07aaf71f7.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-80464aced9614390.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{d9815f84.4918f682a45a8502.js → b84cad00.594027ebe0531fe2.js} +3 -3
- package/apps/pwa/out/_next/static/chunks/c696986b.5dc8bb1143af16d1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{709a918c.4fd3b4e2a32cb4e3.js → ca3702f8.2913182e73889fa2.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/d5d3cefc-373c4eb722ed848b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5f6af561-f90b7a67f4f75d13.js → d8de0de2-dd0f4ac8e5ab1832.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-002b472a66935d31.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-49b88d47292c0476.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-fff2549cb10a133f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-32abbbba3f3b76b7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-9d9cfef60c60dd7a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-cc7f483fa294034a.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +22 -22
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +22 -22
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +22 -22
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +21 -21
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +21 -21
- package/apps/pwa/out/ceo/index.html +1 -1
- package/apps/pwa/out/ceo/index.txt +22 -22
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +21 -21
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +22 -22
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +22 -22
- package/apps/pwa/out/decisions/index.html +1 -1
- package/apps/pwa/out/decisions/index.txt +21 -21
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +22 -22
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +22 -22
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +22 -22
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +22 -22
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +21 -21
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +21 -21
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +22 -22
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +22 -22
- package/apps/pwa/out/live-run/index.html +1 -1
- package/apps/pwa/out/live-run/index.txt +22 -22
- package/apps/pwa/out/loops/index.html +1 -1
- package/apps/pwa/out/loops/index.txt +21 -21
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +21 -21
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +21 -21
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +22 -22
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +22 -22
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +21 -21
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +21 -21
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +21 -21
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +21 -21
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +22 -22
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +22 -22
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +21 -21
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +22 -22
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +22 -22
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +22 -22
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +22 -22
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +22 -22
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +21 -21
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +22 -22
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +22 -22
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +22 -22
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +22 -22
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +22 -22
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +22 -22
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +22 -22
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +22 -22
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +22 -22
- package/graphs/demo/persona-marketer/fixtures/marketer-scenario.yaml +10 -0
- package/graphs/demo/persona-marketer/persona-marketer.yaml +25 -0
- package/graphs/demo/persona-marketer/recipes.yaml +19 -0
- package/graphs/release/recipes.yaml +9 -0
- package/graphs/release/release-loop.yaml +26 -18
- package/graphs/video/explainer-line.yaml +4 -1
- package/package.json +1 -1
- package/scripts/ask-op-inbox-once.ts +17 -0
- package/scripts/brand/check.ts +13 -4
- package/scripts/dead-code/report.ts +169 -0
- package/scripts/gate-0226-accepted-remaining-90.txt +91 -0
- package/scripts/gate-0226-failure-census.ts +39 -0
- package/scripts/intake-collect-telegram-saved-stage.ts +48 -0
- package/scripts/lib/morning-report-options.ts +3 -4
- package/scripts/lib/tui-regress-evidence.ts +56 -0
- package/scripts/morning-report.ts +5 -1
- package/scripts/provision-export-redactions.ts +15 -0
- package/scripts/public-copy-lint.ts +122 -0
- package/scripts/public-export.ts +77 -2
- package/scripts/ratchets/next-tui-entry-budget.ts +124 -0
- package/scripts/ratchets/train-side-invariants.sh +7 -1
- package/scripts/release-loop/cut-branch.ts +61 -12
- package/scripts/release-loop/export-check-node.ts +21 -3
- package/scripts/release-loop/gate-node.ts +527 -60
- package/scripts/release-loop/gate-partial.ts +82 -3
- package/scripts/release-loop/gate-prewarm-plan.ts +35 -0
- package/scripts/release-loop/gate-radius-live.ts +4 -2
- package/scripts/release-loop/gate-shard-dispatch.ts +128 -0
- package/scripts/release-loop/gate-shard-receipts.ts +89 -0
- package/scripts/release-loop/gate-wall.ts +5 -5
- package/scripts/release-loop/preflight.ts +6 -2
- package/scripts/release-loop/resume-cap.ts +2 -1
- package/scripts/release-loop/resume-release.ts +317 -13
- package/scripts/release-loop/resume.ts +61 -5
- package/scripts/release-loop/traffic-node.ts +12 -4
- package/scripts/release-loop/traffic-transition.ts +53 -13
- package/scripts/release-loop/version-node.ts +35 -5
- package/scripts/release-story/draft.ts +1 -1
- package/scripts/research-bench/README.md +53 -0
- package/scripts/research-bench/questions.json +66 -0
- package/scripts/research-bench/rubric.md +33 -0
- package/scripts/research-bench/run.ts +523 -0
- package/scripts/tui-regress.ts +85 -10
- package/scripts/ux-sim.ts +1 -1
- package/scripts/video-pipeline.ts +2 -2
- package/src/acp/core-turn-bridge.ts +14 -1
- package/src/agent/autonomous-tools.ts +10 -3
- package/src/agent/monad-agent-turn.ts +4 -1
- package/src/agent/registry.ts +26 -2
- package/src/agent/run-context.ts +1 -1
- package/src/agent/shared-app-tools.ts +1 -1
- package/src/agent/surface-ux/build.ts +12 -3
- package/src/agent/surface-ux/types.ts +1 -1
- package/src/agent/task-notification.ts +78 -7
- package/src/agent/types.ts +3 -0
- package/src/agent-mission/driver.ts +29 -3
- package/src/agent-mission/mission-cli.ts +2 -1
- package/src/agent-substrate/review-context-pack.ts +365 -0
- package/src/agent-substrate/review-observation.ts +10 -0
- package/src/agent-substrate/self-review-cli.ts +419 -42
- package/src/ask-user-question/index.ts +6 -0
- package/src/ask-user-question/inline-resolver.ts +49 -0
- package/src/auto-research/question-ladder-contract.ts +156 -0
- package/src/auto-research/research-turn.ts +467 -0
- package/src/autopilot/agent-loop.ts +1 -1
- package/src/autopilot/discovery/doc-lint.ts +1 -1
- package/src/autopilot/pty-control-loop.ts +8 -1
- package/src/boot/daemon-tools/index.ts +4 -3
- package/src/boot/daemon-tools/self-implement.ts +270 -2
- package/src/boot/daemon-tools/types.ts +2 -0
- package/src/bots/screen-probe.ts +1 -1
- package/src/budget/llm-cost.ts +44 -5
- package/src/budget/unified-usage.ts +17 -1
- package/src/capture/tui-self-report.ts +24 -2
- package/src/chat/index.ts +34 -7
- package/src/chat/tool-render/dispatch.ts +8 -1
- package/src/cli/agent-cli.ts +43 -8
- package/src/cli/guardian-cli.ts +3 -1
- package/src/cli/intake-cli.ts +70 -13
- package/src/cli/lesson-cli.ts +86 -10
- package/src/cli/log-event-names.ts +1 -0
- package/src/cli/pod-cli.ts +17 -2
- package/src/cli/pr-land-overlap-evidence.ts +38 -5
- package/src/cli/pr-land-refusal.ts +1 -1
- package/src/cli/pty-takeover-cli.ts +125 -12
- package/src/cli/release-checklist-read-cli.ts +5 -2
- package/src/cli/release-cli.ts +99 -15
- package/src/cli/repo-cli.ts +2 -1
- package/src/cli/review-carry.ts +77 -0
- package/src/cli/self-update.ts +1 -1
- package/src/cli/tasks-card-show.ts +31 -1
- package/src/cli/tasks-cli.ts +98 -32
- package/src/cli/tasks-read-cli.ts +13 -5
- package/src/context-bus/context-now.ts +86 -2
- package/src/control-plane/ledger.ts +21 -4
- package/src/core-turn/run-core-turn.ts +51 -3
- package/src/core-turn/run-goal-loop.ts +152 -8
- package/src/core-turn/types.ts +12 -0
- package/src/dashboard/chat/acp-chat.ts +2 -2
- package/src/dashboard/classic-sigquit.ts +16 -0
- package/src/dashboard/index.ts +339 -44
- package/src/dashboard/input/chat-main-interaction-opts.ts +3 -0
- package/src/dashboard/input/chat-main-plain-turn-runtime.ts +7 -2
- package/src/dashboard/input/chat-main-slash-command.ts +7 -0
- package/src/dashboard/input/dashboard-plain-turn-stream.ts +4 -0
- package/src/dashboard/input/dashboard-priority-key-route.ts +21 -5
- package/src/dashboard/input/external-input-host.ts +2 -0
- package/src/dashboard/input/terminal-modal-router.ts +8 -159
- package/src/dashboard/side-basic-runtime.ts +61 -0
- package/src/dashboard/sidetab-runtime.ts +228 -0
- package/src/dashboard/slash-runtime/ask-clarification.ts +7 -1
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +22 -8
- package/src/dashboard/slash-runtime/help-from-registry.ts +2 -2
- package/src/dashboard/term-slash-runtime.ts +18 -18
- package/src/dashboard/turn-preamble.ts +30 -4
- package/src/domains/guardian-tick.ts +9 -0
- package/src/domains/knowledge.ts +1 -1
- package/src/esc-abort-gate.ts +33 -1
- package/src/execution-loop/launch-gate.ts +206 -1
- package/src/git-fs/watcher.ts +27 -22
- package/src/git-fs/worktree.ts +19 -3
- package/src/graph-runner/graph-cli.ts +6 -4
- package/src/graph-runner/graph-grow.ts +37 -9
- package/src/graph-runner/runner.ts +48 -11
- package/src/graph-wizard/generate.ts +16 -7
- package/src/graph-wizard/mission-compose.ts +201 -0
- package/src/grok/agent-search.ts +8 -2
- package/src/grok/credential.ts +112 -36
- package/src/grounding/ref-index.ts +11 -0
- package/src/grounding/ref-vector.ts +61 -0
- package/src/grounding/sources-cli.ts +2 -2
- package/src/grounding/sources.ts +15 -1
- package/src/harness/harness-cli-command.ts +38 -9
- package/src/harness/harness-pod-dispatch.ts +7 -1
- package/src/hq/fence-wrapper.ts +1 -1
- package/src/hq/transfer.ts +1 -1
- package/src/index.ts +60 -16
- package/src/input/external-input-queue.ts +10 -0
- package/src/intake-plane/collect-telegram-saved.ts +90 -6
- package/src/intake-plane/intake-to-tasks.ts +246 -3
- package/src/interactive-terminal-modal.ts +3 -0
- package/src/keybindings.ts +17 -22
- package/src/lessons/friction-ledger.ts +154 -0
- package/src/live-supply/collector.ts +149 -0
- package/src/live-supply/probes.ts +52 -0
- package/src/live-supply/snapshot.ts +40 -0
- package/src/llm/provider-credentials.ts +1 -1
- package/src/llm-tool-schema.ts +20 -0
- package/src/llm.ts +486 -61
- package/src/loops/orchestrator/inbox-once.ts +28 -0
- package/src/loops/orchestrator/inbox.ts +130 -1
- package/src/loops/orchestrator/tick.ts +14 -3
- package/src/maturity/feature-maturity.ts +1 -0
- package/src/nexus/api/channel-ask-op.ts +96 -0
- package/src/nexus/api/discord-trigger-bot.ts +28 -1
- package/src/nexus/api/harness-api.ts +2 -1
- package/src/nexus/api/telegram-trigger-bot.ts +24 -0
- package/src/nexus/api/terminals.ts +28 -6
- package/src/patents/ledger.ts +18 -1
- package/src/preview/terminal.ts +4 -2
- package/src/prompt-cache/anthropic.ts +2 -0
- package/src/prompt-enhance/enhance.ts +5 -0
- package/src/pty/snapshot.py +132 -0
- package/src/pty-shell/pty-control-ipc.ts +29 -2
- package/src/pty-shell/pty-manifest.ts +75 -5
- package/src/pty-shell/registry.ts +2 -0
- package/src/pty-shell/tui-run-state.ts +80 -3
- package/src/release-loop/gate-host-reservation.ts +13 -4
- package/src/release-loop/gate-shard-ledger.ts +68 -0
- package/src/release-loop/gate-shards.ts +61 -0
- package/src/release-loop/light-rc.ts +7 -4
- package/src/release-loop/merged-pr-checklist.ts +25 -2
- package/src/release-loop/rehearsal-shard-plan.ts +6 -1
- package/src/release-loop/rehearsal.ts +28 -1
- package/src/repl/index.ts +10 -0
- package/src/research/axis-fanout.ts +133 -0
- package/src/research/edge-decision.ts +197 -0
- package/src/research/gap-followup.ts +249 -0
- package/src/research/lenses/counter-evidence.ts +100 -0
- package/src/research/lenses/working-backwards.ts +89 -0
- package/src/research/output-router.ts +127 -0
- package/src/research/plugin-discovery.ts +242 -0
- package/src/research-bridge/format.ts +16 -1
- package/src/research-bridge/index.ts +1 -0
- package/src/research-bridge/invoke.ts +45 -7
- package/src/research-bridge/types.ts +2 -0
- package/src/self-dev/ask-launch-flow.ts +34 -106
- package/src/self-dev/decompose.ts +45 -9
- package/src/self-dev/dev-cli.ts +2 -0
- package/src/self-dev/dev-pipeline.ts +8 -4
- package/src/self-dev/draft-residue.ts +221 -2
- package/src/self-dev/draft-sweep.ts +29 -16
- package/src/self-dev/graph-journey-route.ts +10 -2
- package/src/self-dev/launch-preflight-text.ts +2 -2
- package/src/self-dev/launch-preflight.ts +38 -7
- package/src/self-dev/orchestrate-cli.ts +1 -0
- package/src/self-dev/orchestrate.ts +1 -0
- package/src/self-dev/run-supervisor.ts +41 -7
- package/src/self-dev/shard-run.ts +260 -3
- package/src/self-implement/comment-only-source.ts +54 -0
- package/src/self-implement/device-first.ts +8 -2
- package/src/self-implement/doctor-visit.ts +100 -57
- package/src/self-implement/gate-artifacts.ts +5 -2
- package/src/self-implement/gate-baseline.ts +119 -13
- package/src/self-implement/gate-cli.ts +466 -93
- package/src/self-implement/gate-failure-signature.ts +44 -0
- package/src/self-implement/gate-receipt-registry.ts +180 -0
- package/src/self-implement/gate-remote.ts +147 -22
- package/src/self-implement/goal-author-clarification.ts +178 -24
- package/src/self-implement/goal-author-decompose.ts +24 -15
- package/src/self-implement/goal-author.ts +82 -7
- package/src/self-implement/goal-doc/section.ts +22 -0
- package/src/self-implement/goal-supervisor-fill.ts +38 -4
- package/src/self-implement/host-regate.ts +120 -45
- package/src/self-implement/impl-findings-feedback.ts +188 -0
- package/src/self-implement/knowhow-pack.ts +301 -9
- package/src/self-implement/l8-merge-queue.ts +198 -32
- package/src/self-implement/off-diff-evidence.ts +147 -0
- package/src/self-implement/orchestrator.ts +137 -16
- package/src/self-implement/pod-inplace-worktree.ts +82 -0
- package/src/self-implement/pod-warm-pool-profile.ts +2 -2
- package/src/self-implement/premise-review.ts +7 -5
- package/src/self-implement/run-ledger.ts +304 -8
- package/src/self-implement/run-stop.ts +12 -0
- package/src/self-implement/seams.ts +39 -13
- package/src/self-implement/self-implement-cli.ts +30 -4
- package/src/session/channel-ask-op-envelope.ts +36 -0
- package/src/session/channel-op-reply-route.ts +200 -0
- package/src/session/chat.ts +92 -15
- package/src/session/index.ts +2 -0
- package/src/session-runtime/index.ts +9 -22
- package/src/session-runtime/provider-circuit.ts +140 -0
- package/src/shell-runner/file-engine.ts +1 -0
- package/src/shell-runner/types.ts +4 -0
- package/src/sidetab-core/model.ts +176 -0
- package/src/skills/runner.ts +7 -3
- package/src/skills/tools/dev-harness.ts +2 -2
- package/src/skills/tools/schedule-wakeup.ts +24 -7
- package/src/skills/tools/shell.ts +51 -5
- package/src/status/bar.ts +3 -3
- package/src/steward/directive-audit.ts +354 -0
- package/src/storage/file-lock.ts +17 -4
- package/src/surface/child-process.ts +31 -0
- package/src/surface/tui-stderr-owner.ts +48 -0
- package/src/task-agent/adopt-pr.ts +63 -2
- package/src/task-agent/cover.ts +30 -12
- package/src/task-agent/evidence-command-normalize.ts +42 -0
- package/src/task-agent/export-redactions-provision.ts +43 -0
- package/src/task-agent/judge.ts +56 -0
- package/src/task-agent/parent-host.ts +59 -12
- package/src/task-agent/postland-card.ts +35 -2
- package/src/task-agent/rejudge-on-head.ts +46 -2
- package/src/task-agent/repair-cycle.ts +68 -9
- package/src/task-agent/repair-worker.ts +37 -1
- package/src/task-agent/task-hand.ts +226 -33
- package/src/task-agent/tier-split.ts +142 -24
- package/src/task-orchestrator/surfaces/pod-command-job.ts +330 -2
- package/src/task-orchestrator/surfaces/pod-config-snapshot.ts +123 -0
- package/src/task-orchestrator/surfaces/pod-failure-reason.ts +57 -5
- package/src/task-orchestrator/surfaces/pod-mirror-seed.ts +11 -8
- package/src/task-orchestrator/surfaces/pod-pool.ts +27 -4
- package/src/task-orchestrator/surfaces/pod-si-warm-protocol.ts +1 -1
- package/src/task-orchestrator/surfaces/pod-source-receive.ts +74 -6
- package/src/task-orchestrator/surfaces/pod-warm-worker-pod.ts +2 -1
- package/src/task-orchestrator/surfaces/pod-warm-worker-provider.ts +56 -15
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +310 -79
- package/src/task-orchestrator/surfaces/self-implement.ts +33 -2
- package/src/terminal/session-registry.ts +1 -0
- package/src/terminal/terminal-modal-router.ts +156 -0
- package/src/tool-hints/gate.ts +6 -4
- package/src/tool-hints/signals.ts +33 -1
- package/src/tool-runtime/skill-exec-runtime.ts +95 -5
- package/src/tui/chat/background-job-status.ts +8 -2
- package/src/tui/entry.ts +483 -32
- package/src/tui/inline-choice.ts +188 -0
- package/src/tui/sidetab/attach.ts +304 -0
- package/src/tui/sidetab/list.ts +2 -0
- package/src/tui/sidetab/nl-tool.ts +136 -0
- package/src/tui/slash/resume-command.ts +23 -0
- package/src/tui/slash/resume.ts +3 -23
- package/src/tui/slash/term-next.ts +2 -1
- package/src/tui/slash/term.ts +12 -1
- package/src/tui-client/dashboard-session.ts +7 -1
- package/src/tui-client/local-chat-turn.ts +29 -8
- package/src/user-config.ts +42 -3
- package/src/ux-sim/classic-tui-seat-scenarios.ts +1 -7
- package/src/ux-sim/fake-land-queue.ts +88 -0
- package/src/ux-sim/fake-llm.ts +11 -5
- package/src/ux-sim/gate-shard-host-reroute.ts +82 -0
- package/src/ux-sim/goal-interim-trace.ts +24 -0
- package/src/ux-sim/next-tui-seat-scenarios.ts +61 -14
- package/src/ux-sim/task-orchestrator-surfaces-self-implement-pod-device.ts +4 -1
- package/src/version/packed-revision.json +1 -1
- package/src/video-pipeline/recipes/explainer.ts +54 -2
- package/src/web-search/grok.ts +32 -6
- package/src/web-search/index.ts +8 -7
- package/src/workflow-runtime/node-catalog.ts +53 -4
- package/apps/pwa/out/_next/static/chunks/1041-5841aae848fb6403.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1087.3177e54f672dc526.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1105.efe1e13503ac7a33.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1224.2ceca6c180d5130b.js +0 -62
- package/apps/pwa/out/_next/static/chunks/1417-1768233ac92f8a5d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1612.81bbc19af06af16c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1766.728d42053070bb2d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1773.d38e945481e04125.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1974-c12f9600da3d3c26.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1ed5e8af.cf424815c7c0efad.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2061.7232dc9dc058417f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/210.90b2cbd64926cf34.js +0 -32
- package/apps/pwa/out/_next/static/chunks/244-a810d282a20f1783.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2479-fe7e188bd9402d14.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2514.03b60f266531a015.js +0 -148
- package/apps/pwa/out/_next/static/chunks/2526-a657538869888604.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2533-6f0341ff075809e9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2676.e7994c695ef0f30d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2734.3ffdf54254fb6f99.js +0 -27
- package/apps/pwa/out/_next/static/chunks/2770-23252bf3a37880b9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2969.66b8b545139d1544.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3128.a9210d08800ea6a8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3199.6a1a9b0e6cd01dc6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3212.12179fd3eee8cef1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3760-2909ddb9279281cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3825.1921b5901bf33dce.js +0 -36
- package/apps/pwa/out/_next/static/chunks/3994-63eb884ed0547011.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4036.d54e55e1ebf5acdc.js +0 -90
- package/apps/pwa/out/_next/static/chunks/4115.5b438b99f0ae729f.js +0 -226
- package/apps/pwa/out/_next/static/chunks/4269.d8f9f34bb0fc6c43.js +0 -287
- package/apps/pwa/out/_next/static/chunks/431-4eed5bd2c5fe1719.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4324.c99ba3e83eb1b691.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4599-96eff3f2a9c242c1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4825-a9d9d4e9f5892309.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4833-7934c592c5569f00.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4879-68518f547a207aff.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4896.f9b70285363b27b2.js +0 -24
- package/apps/pwa/out/_next/static/chunks/4937-28d437999b77c9dd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/49aa54ab.80f39398e0ed0f30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5056.482687319b82638e.js +0 -104
- package/apps/pwa/out/_next/static/chunks/506.16b83d56a437a9ee.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5260-20593b0a25d0afbc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5404.cc4e9fec26fd5925.js +0 -1
- package/apps/pwa/out/_next/static/chunks/576.485e83e3f3dec19a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5832-a6be14e663f65726.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5854-56648a9fe646b9a0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5925.3b1f8b135710249b.js +0 -93
- package/apps/pwa/out/_next/static/chunks/5952.294fc574a8625184.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6168.17749aa3905fa073.js +0 -74
- package/apps/pwa/out/_next/static/chunks/6416.5d50b8ec9986ca98.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6758.e7fbf532953c0783.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6795.0cb8a59730d99703.js +0 -149
- package/apps/pwa/out/_next/static/chunks/6877-84d47b7e85d0c41e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6971-fb5f9dc0a2cb5d2d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/717.522b08685979b814.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7191.e41eb8f455c7f089.js +0 -41
- package/apps/pwa/out/_next/static/chunks/7233.8e744b7513119409.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7238-97c2226f80504bd8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7285.307963afcf7e7660.js +0 -24
- package/apps/pwa/out/_next/static/chunks/7299-fbe4b8c47a87614a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7314.df0d95930b0c3f50.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7406.c0589fdf2ee66629.js +0 -1
- package/apps/pwa/out/_next/static/chunks/752-90e3e7daad3d8e39.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7524-bcd3d9928c6842d9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7549.9a4de3bf231cfc52.js +0 -1
- package/apps/pwa/out/_next/static/chunks/757-4fbaf50942b8c424.js +0 -1
- package/apps/pwa/out/_next/static/chunks/765.76ae970ceb597b5b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7893-e444a1b0809cd1e4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7956-33748cabb3a05562.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7c5ed21f-f286708e57cf88f7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8030-aa66b478b53dbfca.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8051.c88c07dacbbc5f21.js +0 -8
- package/apps/pwa/out/_next/static/chunks/8080-40d781e7704d3671.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8149.80e402d4345e8dae.js +0 -77
- package/apps/pwa/out/_next/static/chunks/8205.50a5268f4e12ba0b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8231.a128feaa6f8b6079.js +0 -1
- package/apps/pwa/out/_next/static/chunks/85.4ddb1dda2ea3ffa2.js +0 -286
- package/apps/pwa/out/_next/static/chunks/8537.26517a09e8247beb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8595-e9b7081ab773a61f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8821-30cc65a61a60951f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8905.b3385aadb7b133e6.js +0 -79
- package/apps/pwa/out/_next/static/chunks/8983.246bb3a1ac38f50f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9072.18342f5941a1f3ec.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9123.9df04866b2d6e00f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9175-7d383df15a82e2be.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9181-bf89c07ce5b8f599.js +0 -1
- package/apps/pwa/out/_next/static/chunks/920-429bbc4504b45f71.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9207.625edf45d656151c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9378.d2575c6ffd6dd756.js +0 -94
- package/apps/pwa/out/_next/static/chunks/957.db5b5c4d32a35240.js +0 -1
- package/apps/pwa/out/_next/static/chunks/958.53a8dcf4729e6997.js +0 -64
- package/apps/pwa/out/_next/static/chunks/9647.8f0cd0898c592a29.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9665-26abb02665704c2c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9703.e7d81b6faef1050a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9882-7a9164b3c2dacbe5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9998.b74e033efadecd10.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-ec2d8a4979ca9075.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-cb6add08ad3c7660.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-e2eaa321ec223fe6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-5b8a09c475b5f844.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-91a77daedfbac191.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ceo/page-f37fc5e974bda39b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-91429a0b78415a94.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-b95798b58263b910.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-763d53e175e17aa1.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/decisions/page-d55023204055b12f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-89d2140d78abc810.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-82dc069abfe27f55.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/exec/page-25d9eee7beb552c0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-770b4594c713ee97.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-ba8e0dcae4f83985.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-5c112c6d7c33656e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-09788e1aa9a87db6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live-run/page-89acd5d68c0bc560.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/loops/page-5c13e2c76371d797.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-653a9f18642825c6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/page-fe986fe79b107546.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-91ea9f5869a40943.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-7824e21b999962e2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-53d00a60cc75a922.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-88a1edbff62eaf1d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-4e931248b3f9574b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-443364c9e4a23b31.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-b9af2ac1c4737ce8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-25ab9c614c14129b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-dbcdcfac0a395a8a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-bf1de6645089ec58.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-c4201761a5e839c9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-c304f469ea5d70e4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-8e5a238cf5e50c9c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-c604fb980a634d88.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-32b526069ee50b3c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-fb9e639c107f5f72.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-84220c776608cedc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-e475618cbfd5ca2b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-fccd3020af2f8806.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-9c0d7198ff7b5a91.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-d54b1ec9b9c6430d.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-8c4bef1791d732ca.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-46fcc0b0bbc6fbfe.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-7dfda00afd172f5b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/f21fd540.63ac75328926ed30.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-77fdcc873519a6cd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-d0d620d2ce235713.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-e0ef79c79337ba90.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-84b1bc71e3f9ce6a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-2acb61f1363128cb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-462ff5727ceb7824.js +0 -1
- package/scripts/migrate-monad-to-elanous.ts +0 -195
- package/scripts/rebrand-elanous.ts +0 -242
- /package/apps/pwa/out/_next/static/{8kITumG9GAZ1LwT9POrAR → HjeK7zONHfR7op1hKXp4k}/_ssgManifest.js +0 -0
|
@@ -4,12 +4,17 @@ import { debug } from '../../src/debug/log.js';
|
|
|
4
4
|
import type { GraphContext } from './node-verdict.js';
|
|
5
5
|
import type { ReleaseLoopConfig } from './unattended-release.js';
|
|
6
6
|
|
|
7
|
-
export type ReleaseTrafficEvent = 'gate-passed' | 'verify-complete';
|
|
7
|
+
export type ReleaseTrafficEvent = 'cut-start' | 'gate-passed' | 'npm-published' | 'verify-complete' | 'failed';
|
|
8
|
+
|
|
9
|
+
export interface TrafficBeforeCut {
|
|
10
|
+
global?: string;
|
|
11
|
+
perCycle: Record<string, unknown>;
|
|
12
|
+
}
|
|
8
13
|
|
|
9
14
|
export interface TrafficFile {
|
|
10
15
|
global?: string;
|
|
11
16
|
seats: Record<string, Record<string, unknown>>;
|
|
12
|
-
releaseLifecycle?: { runId: string; version: string; stage: 1 | 2; event: ReleaseTrafficEvent; startedAt?: string; updatedAt: string };
|
|
17
|
+
releaseLifecycle?: { runId: string; version: string; stage: 0 | 1 | 2 | 3; event: ReleaseTrafficEvent; startedAt?: string; updatedAt: string; beforeCut?: TrafficBeforeCut };
|
|
13
18
|
[key: string]: unknown;
|
|
14
19
|
}
|
|
15
20
|
|
|
@@ -18,7 +23,7 @@ type ReleaseTrafficConfig = ReleaseLoopConfig & {
|
|
|
18
23
|
};
|
|
19
24
|
|
|
20
25
|
const SEATS = ['OP', 'TC', 'MK', 'UX'] as const;
|
|
21
|
-
const STAGE: Record<ReleaseTrafficEvent, 1 | 2> = { 'gate-passed': 1, 'verify-complete': 2 };
|
|
26
|
+
const STAGE: Record<ReleaseTrafficEvent, 0 | 1 | 2 | 3> = { 'cut-start': 0, 'gate-passed': 1, 'npm-published': 2, 'verify-complete': 2, failed: 3 };
|
|
22
27
|
const TRAFFIC_PER_CYCLE = { half: 3, full: 6 } as const;
|
|
23
28
|
|
|
24
29
|
export interface TrafficTransitionOptions {
|
|
@@ -112,32 +117,65 @@ export async function applyReleaseTrafficEvent(
|
|
|
112
117
|
const log = options.log ?? ((name, fields) => debug.log('release-loop.traffic', name, fields));
|
|
113
118
|
const stage = STAGE[event];
|
|
114
119
|
const stamp = (options.now ?? (() => new Date()))().toISOString();
|
|
115
|
-
const rate = event === 'gate-passed' ? TRAFFIC_PER_CYCLE.half
|
|
116
|
-
|
|
120
|
+
const rate = event === 'gate-passed' ? TRAFFIC_PER_CYCLE.half
|
|
121
|
+
: event === 'npm-published' || event === 'verify-complete' ? TRAFFIC_PER_CYCLE.full : undefined;
|
|
117
122
|
const release = () => {
|
|
118
123
|
const unlock = acquireTrafficLock(path, options.lockTimeoutMs);
|
|
119
124
|
try {
|
|
120
125
|
const before = readTrafficFile(path);
|
|
121
126
|
const prior = before.releaseLifecycle;
|
|
127
|
+
if ((event === 'npm-published' || event === 'verify-complete') && context.outputs['npm-publish']?.outcome !== 'ok') {
|
|
128
|
+
return { file: before, applied: false, idempotent: false, reason: 'npm-publish-unconfirmed' };
|
|
129
|
+
}
|
|
122
130
|
const sameRun = prior?.runId === runId;
|
|
123
131
|
const newerVersion = !prior?.runId || compareReleaseVersions(version, prior.version) > 0;
|
|
124
132
|
const sameVersionLaterRun = prior?.version === version && isLaterRun(context.startedAt, prior.startedAt);
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
||
|
|
133
|
+
const resumedTrafficNode = sameRun && prior.stage === 3
|
|
134
|
+
&& (event === 'cut-start' && context.nodeId === 'traffic-cut-start'
|
|
135
|
+
|| event === 'gate-passed' && context.nodeId === 'traffic-gate-passed'
|
|
136
|
+
|| event === 'npm-published' && context.nodeId === 'traffic-npm-published'
|
|
137
|
+
|| event === 'verify-complete' && context.nodeId === 'traffic-verify-complete' && context.outputs['npm-publish']?.outcome === 'ok');
|
|
138
|
+
if (sameRun && prior.stage === 3 && event !== 'failed' && !resumedTrafficNode) {
|
|
139
|
+
return { file: before, applied: false, idempotent: false, reason: 'run-already-failed' };
|
|
140
|
+
}
|
|
141
|
+
if (sameRun && prior.stage >= stage && event !== 'failed' && !resumedTrafficNode) return { file: before, applied: true, idempotent: true };
|
|
142
|
+
if (event === 'failed' && (!sameRun || prior?.stage === 2 || prior?.stage === 3 || !prior?.beforeCut)) {
|
|
143
|
+
return { file: before, applied: false, idempotent: false,
|
|
144
|
+
reason: !sameRun ? prior?.runId ? 'different-run-is-current' : 'before-cut-unmeasured'
|
|
145
|
+
: prior?.stage === 2 ? 'published-keeps-full' : prior?.stage === 3 ? 'already-restored' : 'before-cut-unmeasured' };
|
|
146
|
+
}
|
|
147
|
+
const permitted = event === 'failed' ? sameRun
|
|
148
|
+
: sameRun ? resumedTrafficNode || (stage === 0 ? prior.stage === 0 : stage > prior.stage)
|
|
149
|
+
: newerVersion || (prior?.version === version && sameVersionLaterRun && (prior.stage < 2 || prior.stage === 3 || event === 'verify-complete'));
|
|
130
150
|
if (!permitted) {
|
|
131
151
|
return { file: before, applied: false, idempotent: false, reason: prior?.runId && prior.runId !== runId ? 'different-run-is-current' : 'event-out-of-order' };
|
|
132
152
|
}
|
|
153
|
+
if (event === 'cut-start' && prior && prior.stage < 2 && !prior.beforeCut) {
|
|
154
|
+
return { file: before, applied: false, idempotent: false, reason: 'before-cut-unmeasured' };
|
|
155
|
+
}
|
|
156
|
+
const beforeCut = event === 'cut-start' ? {
|
|
157
|
+
...(prior?.stage !== undefined && prior.stage < 2 && prior.beforeCut
|
|
158
|
+
? prior.beforeCut
|
|
159
|
+
: { ...(before.global === undefined ? {} : { global: before.global }),
|
|
160
|
+
perCycle: Object.fromEntries(SEATS.map((seat) => [seat, before.seats[seat]?.perCycle])) }),
|
|
161
|
+
} : prior?.beforeCut;
|
|
162
|
+
const releaseLifecycle = { runId, version, stage, event, ...(context.startedAt ? { startedAt: context.startedAt } : {}),
|
|
163
|
+
updatedAt: stamp, ...(beforeCut ? { beforeCut } : {}) };
|
|
133
164
|
const after: TrafficFile = {
|
|
134
165
|
...before,
|
|
135
|
-
...(event === '
|
|
166
|
+
...(event === 'cut-start' ? { global: 'gate' }
|
|
167
|
+
: event === 'gate-passed' ? { global: 'yellow' }
|
|
168
|
+
: event === 'npm-published' || event === 'verify-complete' ? { global: 'green' }
|
|
169
|
+
: beforeCut?.global === undefined ? {} : { global: beforeCut.global }),
|
|
136
170
|
seats: Object.fromEntries(Object.entries(before.seats).map(([seat, value]) => [
|
|
137
|
-
seat, SEATS.includes(seat as typeof SEATS[number])
|
|
171
|
+
seat, SEATS.includes(seat as typeof SEATS[number])
|
|
172
|
+
? { ...value, ...(event === 'failed' ? { perCycle: beforeCut?.perCycle[seat] } : rate === undefined ? {} : { perCycle: rate }) }
|
|
173
|
+
: value,
|
|
138
174
|
])),
|
|
139
175
|
releaseLifecycle,
|
|
140
176
|
};
|
|
177
|
+
if (event === 'failed' && beforeCut?.global === undefined) delete after.global;
|
|
178
|
+
if (event === 'failed') for (const seat of SEATS) if (beforeCut?.perCycle[seat] === undefined) delete after.seats[seat]?.perCycle;
|
|
141
179
|
atomicWriteTrafficFile(path, after);
|
|
142
180
|
return { file: after, applied: true, idempotent: false };
|
|
143
181
|
} finally { unlock(); }
|
|
@@ -145,7 +183,9 @@ export async function applyReleaseTrafficEvent(
|
|
|
145
183
|
const result = release();
|
|
146
184
|
const reason = result.applied && result.idempotent ? 'already-applied' : result.reason;
|
|
147
185
|
log(result.idempotent ? 'already-applied' : result.applied ? 'applied' : 'ignored', {
|
|
148
|
-
runId, version, event, stage, reason,
|
|
186
|
+
runId, version, event, stage, reason, ...(rate === undefined ? {} : { perCycle: rate }),
|
|
187
|
+
...(event === 'cut-start' ? { global: 'gate' } : event === 'gate-passed' ? { global: 'yellow' }
|
|
188
|
+
: event === 'npm-published' || event === 'verify-complete' ? { global: 'green' } : {}),
|
|
149
189
|
});
|
|
150
190
|
return { applied: result.applied, stage: result.file.releaseLifecycle?.stage ?? 0, ...(reason ? { reason } : {}) };
|
|
151
191
|
}
|
|
@@ -8,6 +8,7 @@ import { debug } from '../../src/debug/log.js';
|
|
|
8
8
|
import { effectiveInstanceRoot, prodInstanceRoot } from '../../src/instance/resolve.js';
|
|
9
9
|
import { landingFreezeMessage, readLandingFreeze, type LandingFreeze } from '../../src/release-loop/landing-freeze.js';
|
|
10
10
|
import { baseVersion, isReleaseVersion, isStableVersion, prereleaseKind } from './release-version.js';
|
|
11
|
+
import { cutReleaseBranch } from './cut-branch.js';
|
|
11
12
|
|
|
12
13
|
type Kind = 'release' | 'dev-bump';
|
|
13
14
|
type Output = { outcome: 'ok' | 'error'; kind: Kind | null; version: string | null; commit: string | null; pr: number | null; files?: string[]; worktree?: string; error?: string;
|
|
@@ -441,36 +442,65 @@ export function main(args: string[] = process.argv.slice(2), repo = process.cwd(
|
|
|
441
442
|
let branchCut = false;
|
|
442
443
|
let runId: string | undefined;
|
|
443
444
|
try {
|
|
444
|
-
if (args[0] !== 'release' && args[0] !== 'dev-bump'
|
|
445
|
-
|
|
445
|
+
if (args[0] !== 'release' && args[0] !== 'dev-bump' && args[0] !== 'cut-branch')
|
|
446
|
+
throw new Error('usage: version-node.ts <release|dev-bump|cut-branch> [--version <v>] [--cut <sha>] [--cut-commit <sha>] [--pick <sha>] [--base <sha>] [--append] [--dry-run] --json');
|
|
447
|
+
kind = args[0] === 'cut-branch' ? 'release' : args[0];
|
|
448
|
+
const picks: string[] = [];
|
|
449
|
+
let base: string | undefined;
|
|
450
|
+
let append = false;
|
|
451
|
+
let dryRun = false;
|
|
452
|
+
let versionRelease: { commit?: unknown; base?: unknown; branch?: unknown } | undefined;
|
|
446
453
|
for (let i = 1; i < args.length; i++) {
|
|
447
454
|
if (args[i] === '--json') continue;
|
|
448
455
|
if (args[i] === '--version' && args[i + 1]) { version = args[++i]!; continue; }
|
|
449
456
|
if (args[i] === '--cut' && args[i + 1]) { cut = args[++i]!; continue; }
|
|
450
457
|
if (args[i] === '--cut-commit' && args[i + 1]) { cutCommit = args[++i]!; continue; }
|
|
458
|
+
if (args[i] === '--pick' && args[i + 1]) { picks.push(args[++i]!); continue; }
|
|
459
|
+
if (args[i] === '--base' && args[i + 1]) { base = args[++i]!; continue; }
|
|
460
|
+
if (args[i] === '--append') { append = true; continue; }
|
|
461
|
+
if (args[i] === '--dry-run') { dryRun = true; continue; }
|
|
451
462
|
throw new Error(`unknown or incomplete argument: ${args[i]}`);
|
|
452
463
|
}
|
|
453
464
|
if (process.env.ELANOUS_GRAPH_CONTEXT) {
|
|
454
465
|
const location = process.env.ELANOUS_GRAPH_CONTEXT;
|
|
455
466
|
const context = JSON.parse(location.trimStart().startsWith('{') ? location : readFileSync(location, 'utf8')) as {
|
|
456
|
-
runId?: unknown; input?: { version?: unknown; cutCommit?: unknown; forceFreeze?: unknown; branchCut?: unknown };
|
|
467
|
+
runId?: unknown; input?: { version?: unknown; cutCommit?: unknown; forceFreeze?: unknown; branchCut?: unknown };
|
|
468
|
+
outputs?: Record<string, { outcome?: unknown; commit?: unknown; base?: unknown; branch?: unknown } | undefined> };
|
|
457
469
|
if (context.runId !== undefined) {
|
|
458
470
|
if (typeof context.runId !== 'string') throw new Error('runId must be a string');
|
|
459
471
|
runId = context.runId;
|
|
460
472
|
}
|
|
461
473
|
if (!version && typeof context.input?.version === 'string') version = context.input.version;
|
|
462
474
|
forceFreeze = context.input?.forceFreeze === true;
|
|
463
|
-
|
|
475
|
+
const releasedBranch = context.outputs?.['version-release']?.branch;
|
|
476
|
+
branchCut = context.input?.branchCut === true
|
|
477
|
+
|| (kind === 'dev-bump'
|
|
478
|
+
&& context.outputs?.['version-release']?.outcome === 'ok'
|
|
479
|
+
&& typeof version === 'string'
|
|
480
|
+
&& releasedBranch === `release/${version}`);
|
|
464
481
|
if (kind === 'release' && cutCommit === undefined && context.input?.cutCommit !== undefined) {
|
|
465
482
|
if (typeof context.input.cutCommit !== 'string') throw new Error('cutCommit must be a commit SHA');
|
|
466
483
|
cutCommit = context.input.cutCommit;
|
|
467
484
|
}
|
|
468
485
|
// The cut = the commit version-release landed (what cutoff and the gate measured).
|
|
486
|
+
// RELEASE-APPEND-BASE-AUTO: cut-branch consumes that same record as its ledger seam
|
|
487
|
+
// (ledger: () => versionRelease), so it must not also see it injected as --cut.
|
|
469
488
|
const releasedCommit = context.outputs?.['version-release']?.commit;
|
|
470
|
-
if (!cut && typeof releasedCommit === 'string' && releasedCommit) cut = releasedCommit;
|
|
489
|
+
if (args[0] !== 'cut-branch' && !cut && typeof releasedCommit === 'string' && releasedCommit) cut = releasedCommit;
|
|
490
|
+
// RELEASE-APPEND-BASE-AUTO: the version-release node's record is the ledger seam cut-branch consults.
|
|
491
|
+
versionRelease = context.outputs?.['version-release'];
|
|
471
492
|
}
|
|
472
493
|
if (!version) throw new Error('version required (--version or ELANOUS_GRAPH_CONTEXT.input.version)');
|
|
473
494
|
nextDevVersion(version);
|
|
495
|
+
if (args[0] === 'cut-branch') {
|
|
496
|
+
if (cut !== undefined || cutCommit !== undefined) throw new Error('--cut/--cut-commit are not valid for cut-branch');
|
|
497
|
+
if (!picks.length) throw new Error('at least one --pick commit is required');
|
|
498
|
+
const result = cutReleaseBranch({
|
|
499
|
+
version, pick: picks, ...(base !== undefined ? { base } : {}), append, dryRun,
|
|
500
|
+
repoRoot: resolve(repo), ledger: () => versionRelease,
|
|
501
|
+
});
|
|
502
|
+
return { outcome: 'ok', kind: 'release', version, commit: result.commit, pr: null, branch: result.branch, ...(dryRun ? { skipped: 'dry-run' } : {}) };
|
|
503
|
+
}
|
|
474
504
|
if (kind === 'dev-bump' && cutCommit !== undefined) throw new Error('--cut-commit is only valid for release');
|
|
475
505
|
return landing(resolve(repo), kind, version, cut, cutCommit, forceFreeze, branchCut, undefined, runId);
|
|
476
506
|
} catch (error) {
|
|
@@ -46,7 +46,7 @@ function userFacingLines(markdown: string): { lines: string[]; internalDropped:
|
|
|
46
46
|
if (text) internalDropped++;
|
|
47
47
|
return [];
|
|
48
48
|
}
|
|
49
|
-
const publicText = text.replace(/\s+["'“]?Target:\s*next\.["'”]?\s
|
|
49
|
+
const publicText = text.replace(/\s+["'“]?Target:\s*next\.["'”]?(?=\s*(?:\([^)]*\))?\s*$)/i, '')
|
|
50
50
|
.replace(/\s+["'“]?Documentation:\s*.*\.["'”]?\s*$/i, '').trim()
|
|
51
51
|
.replace(/^(?:feat|fix)\s*—\s*/i, '');
|
|
52
52
|
return publicText ? [publicText] : [];
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
신설: scripts/research-bench/README.md
|
|
2
|
+
# Research harness benchmark
|
|
3
|
+
|
|
4
|
+
## SCQA
|
|
5
|
+
|
|
6
|
+
**S** — The 10/31 positioning decision needs evidence about Elanous research quality and its Bloom-native research design.
|
|
7
|
+
|
|
8
|
+
**C** — A product-default comparison mixes harness and model effects. Bloom stages and graph layouts also need isolated comparisons under one model and fixed questions.
|
|
9
|
+
|
|
10
|
+
**Q** — How do we compare the products, measure Bloom's contribution, and test the recommended stage layout under either the default API cap or an explicitly approved uncapped run?
|
|
11
|
+
|
|
12
|
+
**A** — Run the same ten questions across a controlled pair, Bloom ablation, product-default pair, and Elanous layout ablation. Start with three questions, review the measurement, then run all ten. Keep manifests, raw answers, scores, latency, and spend in private evidence.
|
|
13
|
+
|
|
14
|
+
## Experiment matrix
|
|
15
|
+
|
|
16
|
+
| Cell | Comparison | Bloom instruction | Layout | Harnesses |
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
| A0 | Controlled baseline and no-Bloom ablation | None | Baseline | Elanous + Claude Code, both Opus 5.5 |
|
|
19
|
+
| A1 | Bloom ablation | Stages 1–3 | Baseline | Elanous + Claude Code, both Opus 5.5 |
|
|
20
|
+
| A2 | Bloom ablation | Stages 1–5 | Baseline | Elanous + Claude Code, both Opus 5.5 |
|
|
21
|
+
| A3 | Bloom ablation | Stages 1–6 | Baseline | Elanous + Claude Code, both Opus 5.5 |
|
|
22
|
+
| B | Product comparison | None | Product defaults | Elanous installed default + Claude Code defaults |
|
|
23
|
+
| P1 | Layout ablation | Stages 1–6 | Linear 1→6 | Elanous, Opus 5.5 |
|
|
24
|
+
| P5 | Layout ablation | Stages 1–6 | Front 6 reverse design; parallel 1/3; 4/5 loop; final 6 | Elanous, Opus 5.5 |
|
|
25
|
+
| P5-no-front6 | Layout ablation | Stages 1–6 | P5 without front 6 | Elanous, Opus 5.5 |
|
|
26
|
+
|
|
27
|
+
A0 is also the no-Bloom ablation baseline. A1–A3 add cumulative Bloom scaffolding to the same question; the question text stays unchanged. The product cell uses Elanous's installed default configuration (gpt-6-luna) against Claude Code defaults; it is not a controlled model comparison. OP deferred role-routed Elanous best-config measurement to B2 after 0.2.40. Layout cells measure Elanous architecture only. The 10 questions cover finance, technology, and market; at least four require analysis/evaluation.
|
|
28
|
+
|
|
29
|
+
## Run order and budget
|
|
30
|
+
|
|
31
|
+
- Pilot: the first-listed question in each of the finance, technology, and market domains across all eight cells, 39 total invocations (24 Elanous API calls, 15 Claude subscription calls).
|
|
32
|
+
- Execution-validation smoke: a configurable number of first-listed questions in A0 only, each as one matched Claude/Elanous pair. This checks runtime, timeout recovery, and cost collection; do not score it.
|
|
33
|
+
- Full: 10 questions in all eight cells, 130 total invocations (80 Elanous API calls, 50 Claude subscription calls).
|
|
34
|
+
- Default runs use the approved Elanous API cap of $200. After each Elanous call, read its `llm-usage` event, calculate token cost at official rates, and append to the private ledger. Do not start the next pair once cumulative Elanous API spend reaches $160 (80%). Finish the current matched pair. Claude Code subscription calls are recorded at $0 API spend and do not consume that cap. Use `--no-cost-cap` only when OP explicitly authorizes an uncapped run; manifests and ledgers mark both cap fields `null`.
|
|
35
|
+
- Opus 5.5 rates are $4/MTok input, $20/MTok output, $5/MTok 5-minute cache writes, and $0.20/MTok cache reads. The official price table is [Anthropic prompt-cache pricing](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) and [Claude Opus pricing](https://www.anthropic.com/claude/opus). Other Elanous models use the price estimate in their `llm-usage` event; an unknown API price stops the run.
|
|
36
|
+
- Pair order alternates for the controlled cells by question and cell. Every invocation starts a fresh session. Never pass one answer to another run.
|
|
37
|
+
- Collect per-cell rubric scores, actual provider spend, elapsed time, source count/quality, resolution level, tool traces, and failure/unknown notes. Report paired deltas and uncertainty; ten questions do not support broad population claims.
|
|
38
|
+
|
|
39
|
+
## Commands
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
bun scripts/research-bench/run.ts --dry-run
|
|
43
|
+
bun scripts/research-bench/run.ts --live --smoke-pairs 3 --baseline-sha <main-commit-sha> --config <private-config.json> --no-cost-cap --approval-ref OP#42096 --out ~/elanous-hq/seat-state/OP/evidence/20261026/askop-model-vs-harness
|
|
44
|
+
bun scripts/research-bench/run.ts --live --pilot --baseline-sha <main-commit-sha> --config <private-config.json> --max-total-cost-usd 200 --out ~/elanous-hq/seat-state/OP/evidence/20261026/askop-model-vs-harness
|
|
45
|
+
bun scripts/research-bench/run.ts --live --pilot --baseline-sha <main-commit-sha> --config <private-config.json> --no-cost-cap --approval-ref OP#42096 --out ~/elanous-hq/seat-state/OP/evidence/20261026/askop-model-vs-harness
|
|
46
|
+
bun scripts/research-bench/run.ts --live --full --baseline-sha <main-commit-sha> --config <private-config.json> --max-total-cost-usd 200 --out ~/elanous-hq/seat-state/OP/evidence/20261026/askop-model-vs-harness
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The private config is version 2 and has adapters for A0, A1, A2, A3, B, P1, P5, and P5-no-front6, plus a baseline version probe. The probe must report the exact `--baseline-sha` requested before any live invocation starts. Smoke validation selects one question each from finance, technology, and market (one to three pairs), and its results are not scored. Adapter arguments are arrays, never shell strings; `{prompt}` is required and the other values may be interpolated when the adapter supports them. Each adapter declares model, tool-policy ID, turn limit, timeout, and a usage source. A0–A3 use Opus 5.5, eight tool turns, a 10-minute timeout, and a common research tool-policy ID; the Elanous config sets the Anthropic turn cap to eight, while Claude Code uses `--max-turns 8`. Elanous adapters query `eln logs --category llm.usage --event llm-usage --json --json-data --session {sessionId}` after each invocation; Claude Code adapters emit `stream-json` usage. Tool names differ slightly between CLI surfaces (Elanous `ListDir`, Claude Code `LS`); each call records the model reported by its usage source and token usage, using `unknown` when the source omits the model. Product defaults may differ by design.
|
|
50
|
+
|
|
51
|
+
## Scoring and evidence
|
|
52
|
+
|
|
53
|
+
Use `rubric.md` with blinded harness/model labels. Two raters score independently; a third resolves any two-point disagreement. Report per-question and per-dimension results, latency, and actual API spend. Outputs go only to private `seat-state/OP/evidence/`; never commit provider answers. Keep question and rubric versions fixed for regression comparisons.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "finance-01-kgb-10y",
|
|
4
|
+
"domain": "finance",
|
|
5
|
+
"bloom": ["remember", "understand", "analyze", "evaluate", "create"],
|
|
6
|
+
"requiresHigherOrder": true,
|
|
7
|
+
"prompt": "현재 기준으로 한국 국고채 10년물 금리의 최근 30일 변화를 조사하라. 공신력 있는 시계열 값과 날짜를 먼저 제시하고, 움직임을 설명하는 요인을 데이터로 분해하라. 가장 강한 대안 설명과 반대 근거를 포함하고, 향후 3개월의 조건부 시나리오를 제시하되 투자 권유는 하지 마라. 핵심 주장마다 원문 출처 URL과 기준 시각을 붙여라."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "finance-02-usdkrw",
|
|
11
|
+
"domain": "finance",
|
|
12
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate"],
|
|
13
|
+
"requiresHigherOrder": true,
|
|
14
|
+
"prompt": "현재 기준 최근 90일 원/달러 환율 변화를 조사하고, 달러지수·미 국채금리·한국 수출 및 자금 흐름이 각각 설명하는 부분을 구분하라. 인과관계와 동시 움직임을 혼동하지 말고, 각 설명을 지지하는 자료와 반대 사례를 대조하라. 근거가 부족한 요인은 미확인으로 남기고, 출처 URL·값·날짜를 제시하라."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "finance-03-korean-memory-producers",
|
|
18
|
+
"domain": "finance",
|
|
19
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate", "create"],
|
|
20
|
+
"requiresHigherOrder": true,
|
|
21
|
+
"prompt": "현재 공개된 최신 실적 기준으로 삼성전자와 SK하이닉스의 메모리 사업을 비교하라. 매출·수익성·제품 믹스·CAPEX 등 비교 가능한 수치를 같은 기간으로 정렬하고, 차이의 원인을 분해하라. 두 회사 각각에 유리한 반대 근거와 데이터 공백을 포함하고, 다음 두 분기에 관찰할 지표와 조건부 시나리오를 제안하라. 투자 권유는 하지 말고 원문 출처·기간·단위를 표시하라."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "technology-01-hbm4",
|
|
25
|
+
"domain": "technology",
|
|
26
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate", "create"],
|
|
27
|
+
"requiresHigherOrder": true,
|
|
28
|
+
"prompt": "HBM4의 현재 개발·양산·고객 인증 상태와 공급망 병목을 1차 자료 중심으로 조사하라. 발표·샘플·인증·양산을 서로 다른 상태로 구분하고, 메모리 업체·패키징·가속기 공급망의 인과 관계를 설명하라. 일정 지연 또는 채택 축소를 뒷받침하는 반대 근거도 찾고, 2027년까지 확인 가능한 관측 지표와 시나리오를 제시하라."
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "technology-02-coding-agent-adoption",
|
|
32
|
+
"domain": "technology",
|
|
33
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate"],
|
|
34
|
+
"prompt": "2025년 이후 코딩 에이전트의 실제 조직 도입과 생산성 효과를 조사하라. 벤더 발표·설문·독립 실험을 출처 유형별로 분리하고, 표본·측정 정의·선택 편향을 비교하라. 생산성 향상 주장에 대한 반대 결과와 보안·검토 비용도 포함하고, 근거가 말할 수 있는 범위를 제안하라. 핵심 수치에는 모집단·기간·원문 URL을 붙여라."
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "technology-03-inference-economics",
|
|
38
|
+
"domain": "technology",
|
|
39
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate", "create"],
|
|
40
|
+
"prompt": "최근 12개월의 frontier 및 open-weight 모델 추론 비용·성능 변화를 비교하라. 공개 가격표와 재현 가능한 독립 평가를 분리하고, 토큰 가격·지연·품질·하드웨어 이용률이 실제 총비용에 미치는 영향을 계산 가능한 단위로 제시하라. '더 싸다'는 주장에 대한 반례와 작업별 차이를 분석하고, 12개월의 조건부 시나리오를 제시하라."
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "market-01-enterprise-research-agents",
|
|
44
|
+
"domain": "market",
|
|
45
|
+
"bloom": ["remember", "understand", "analyze", "evaluate", "create"],
|
|
46
|
+
"prompt": "기업용 조사·리서치 에이전트 시장의 규모와 성장률 주장을 비교하라. 최소 세 출처의 정의·포함 제품·기준 연도·예측 기간을 대조하고, 같은 시장을 측정하는지 판단하라. 도입 사례와 실사용 효과의 독립 근거를 벤더 전망과 분리하고, 가장 큰 불확실성 및 반대 근거를 제시하라."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "market-02-korean-enterprise-automation",
|
|
50
|
+
"domain": "market",
|
|
51
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate", "create"],
|
|
52
|
+
"prompt": "한국 기업의 에이전트형 AI 업무 자동화에서 현재 가치가 검증된 부문을 조사하라. 금융·제조·고객지원 등 최소 세 부문에서 실제 배포, 실험, 계획 발표를 구분하고, 도입 전후의 비용·시간·오류 지표를 찾아라. 규제·데이터·통합 비용과 효과가 없었던 사례도 포함하고, 다음 12개월에 검증할 측정 설계를 제안하라."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "market-03-ai-research-assistants",
|
|
56
|
+
"domain": "market",
|
|
57
|
+
"bloom": ["remember", "understand", "apply", "analyze", "evaluate"],
|
|
58
|
+
"prompt": "AI 조사 보조 제품군의 최근 경쟁 구도를 조사하라. 제품 기능 나열 대신 출처 발견·교차검증·기억·도구 실행·인용 정확도·가격을 축으로 비교하라. 독립 평가와 공식 문서를 구분하고, 강점 주장을 뒤집을 수 있는 반례 및 기능 미지원 증거를 찾으라. 사용 사례별로 승자를 달리 제시하고 근거 수준을 표시하라."
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "market-04-agentic-knowledge-work",
|
|
62
|
+
"domain": "market",
|
|
63
|
+
"bloom": ["understand", "apply", "analyze", "evaluate", "create"],
|
|
64
|
+
"prompt": "지식 노동에서 조사 에이전트가 검색·분석·보고 과정을 바꾸는 방식을 조사하라. 현장 도입 사례와 통제된 연구를 분리하고, 어떤 작업은 자동화되고 어떤 판단은 사람에게 남는지 사례로 분석하라. 생산성 이익과 함께 오류·근거 누락·데이터 유출·검토 비용의 반대 근거를 다루고, 측정 가능한 성공 기준과 실패 시 대안을 설계하라."
|
|
65
|
+
}
|
|
66
|
+
]
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Blind scoring rubric
|
|
2
|
+
|
|
3
|
+
## SCQA
|
|
4
|
+
|
|
5
|
+
**S** — 조사 답변은 출처가 있어도 깊이·범위·원인 설명·반대 근거·지연이 서로 다를 수 있다.
|
|
6
|
+
|
|
7
|
+
**C** — 단일 총점이나 인상 평가는 하니스 이름·문장 길이에 끌려 재현이 어렵다.
|
|
8
|
+
|
|
9
|
+
**Q** — 10개 답변을 어떻게 비교해 회귀와 강점을 구분할까?
|
|
10
|
+
|
|
11
|
+
**A** — 두 응답의 harness/model 표식을 지운 뒤 아래 품질 7개 축과 지연을 각각 0–3점으로 채점한다. 기준과 근거 위치를 기록하고, 두 명이 독립 채점한다. 불일치가 2점 이상이면 제3자 판정을 남긴다.
|
|
12
|
+
|
|
13
|
+
## Dimensions (0–3 each)
|
|
14
|
+
|
|
15
|
+
| Dimension | 0 | 1 | 2 | 3 |
|
|
16
|
+
|---|---|---|---|---|
|
|
17
|
+
| 근거의 양·검증성 | 출처가 없거나 핵심 주장을 지지하지 않음 | 단일 출처 위주, 일부 핵심 주장만 연결 | 핵심 주장 대부분이 직접 출처와 연결되고 2종 이상 출처 사용 | 핵심 주장 전부 추적 가능, 1차 자료와 독립 확인을 교차 대조하고 날짜·단위를 보존 |
|
|
18
|
+
| 해상도 L0–L3 | 결론 한 줄조차 불명확 | L0 결론만 있음 | L1 자료 근거 또는 L2 원인 분해까지 도달 | L3 반대 근거·조건부 시나리오까지 근거와 함께 제시 |
|
|
19
|
+
| 데이터 폭 | 단일 출처·측정치 | 한 유형 또는 한 기간만 사용 | 여러 출처 유형·기간을 비교하나 주요 공백 존재 | 정의·표본·기간이 다른 자료를 분리하고 폭과 대표성 한계를 명시 |
|
|
20
|
+
| 원인 분해 | 결론만 말하거나 상관을 인과로 단정 | 요인을 나열 | 요인별 자료와 작동 경로를 나눔 | 대안 설명을 비교하고 어떤 자료가 원인을 가르는지 제시 |
|
|
21
|
+
| 반대 근거 | 없음 | 형식적 한 문장 | 실재하는 반대 자료나 대안 가설 하나 이상 | 가장 강한 반증을 찾아 주장·확신을 그에 맞게 조정 |
|
|
22
|
+
| 기억·맥락 활용 | 기준일·제공 맥락을 무시하거나 꾸밈 | 맥락 언급만 있고 답에 영향 없음 | 제공된 공통 맥락/과거 기준선을 정확히 사용 | 이전 결과와의 차이를 추적하고, 제공되지 않은 기억을 쓴 척하지 않음 |
|
|
23
|
+
| 출력의 풍부함·사용성 | 읽거나 행동으로 옮기기 어려움 | 장문/목록이지만 구조·다음 단계 약함 | 요약·표·출처가 명료하고 공백을 드러냄 | 핵심 판단→근거→대안→관측 지표로 이어지며 목적에 맞는 구조를 사용 |
|
|
24
|
+
| 지연(고정 timeout 대비) | timeout 또는 결과 없음 | 허용 시간의 75% 초과 | 25% 초과~75% 이하 | 25% 이하 |
|
|
25
|
+
|
|
26
|
+
## Scoring controls
|
|
27
|
+
|
|
28
|
+
- 각 점수에 답변 내 근거 인용(문단/문장)과 출처 URL을 기록한다. 근거 없는 점수는 무효다.
|
|
29
|
+
- 인용 링크가 존재하는 것만으로 근거로 세지 않는다. 출처 본문이 실제 주장을 지지하는지 확인한다.
|
|
30
|
+
- 모델 이름·harness 이름은 검수자가 모르게 바꾼다. 실행 순서는 질문마다 번갈아 균형화한다.
|
|
31
|
+
- 불확실성·측정 불가를 정직하게 표시한 답은 그 이유만으로 감점하지 않는다.
|
|
32
|
+
- 품질 7축은 문항당 7–21점이다. 지연 점수는 별도로 내고 품질 합계에 섞지 않는다. 총계보다 축별 중앙값·범위·문항별 짝차를 먼저 보고한다.
|
|
33
|
+
- 적어도 2명 채점자의 가중치 없는 평균을 쓴다. 필요하면 차원별 Cohen's kappa를 함께 기록한다. 표본 10개를 모집단 일반화나 유의성 주장으로 부풀리지 않는다.
|