elanous 0.2.12 → 0.2.14
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/chunks/{7334.a6679d9168f37aa8.js → 1268.0840ff91e083fcbd.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1307-6e7e0377c1db0bdc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/1826-5d279da64bbbc2de.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{9656-c1540088f5859c80.js → 1844-9ec4b1d12f6e80eb.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/1866-e7a6999f25548b30.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{390.c373e31b3b9d0c41.js → 1948.15f356b15a625597.js} +2 -2
- package/apps/pwa/out/_next/static/chunks/211-9c9090c59e2c5907.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2196-4700653d12a44b40.js +1 -0
- package/apps/pwa/out/_next/static/chunks/224-798346143007ff65.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2699-63b73fa4d3bcf6ff.js +1 -0
- package/apps/pwa/out/_next/static/chunks/2957-96ffab3d521fb08f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/311.e685738f92e6e2ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3194-807b212fb8eae065.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3324-d1d2979821dfa845.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3558-bbb5ab553a0471d3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/3916-3d02dd1fc257dd3c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4144-a0041c8dc3be57ac.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4554-3565eea1f1495ba7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/4562-071d8bac44a01069.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{4685-c3c1c625b71accd1.js → 4614-21403aac730d4586.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{8039-df92e08fede5de8f.js → 4795-f372490b178583fc.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/5135-44008fe8b1f2aa41.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5233-bf28bd6bd7a32099.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5360-be1f1d8f9fcc9755.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5977-2df489622a52a33a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/5994-ae92c0de046ab9ba.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1452.93700483b9d4fc61.js → 6110.1297d4093fdfbb0d.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/6158.9c0449a9a8d0064b.js +2 -0
- package/apps/pwa/out/_next/static/chunks/6877-7c6208705c284124.js +1 -0
- package/apps/pwa/out/_next/static/chunks/726.83532d69452ee24b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7290-f09c928a06c52e2d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{1829-b453a1b22d3999bb.js → 7327-2d69fb321ba73389.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/7395-164e238f471b5d7b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/7787-02a1c0b04e25e811.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{9906-482c6619b3fdda20.js → 8060-cc008cc6fedfa818.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/8085-d065d0393c1760f5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8682-7061dd4fa7bd62ed.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8827-e2f5b09a8d37e83b.js +1 -0
- package/apps/pwa/out/_next/static/chunks/8868-10a3a4440fb0ccd8.js +25 -0
- package/apps/pwa/out/_next/static/chunks/{8421-1c4acfb1395a0edf.js → 8949-ecb4128a0858b911.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/9070.067c106528ec1ae6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/9103-7a3ae7f60af3b99f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{3869-3cd46526879f454c.js → 9247-29d889b809288e65.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/935.4ddaa99fc1d1126c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{79f8be9e-957d68913b590b08.js → a9f2b54d-7865aba0f4d2ee49.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c1a96669158471ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-74383f890f075511.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-7b2b4f378354869a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/board/page-c496bb16da85385f.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-1abfe3aec3be6bdc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/bots/page-1512d91c7491ed62.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/chat/page-a627db94ec6904a0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/consult/page-fb260b9283dbf646.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/control/page-e6b84ab07d3567d5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-61ec1d2e92bdd50a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/editor/page-fed69f9759d248d0.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/exec/{page-a67e11ba962337b5.js → page-15374909d8f1aebd.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-012a742f81218b01.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-c1a96669158471ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/inside/page-fd7e200d4d83fbd7.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/intake/page-99effd9d893a43dc.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/layout-938de57ae0315e46.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/live/page-d47266766766d227.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/loops/page-160089123a40dd91.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/market/page-629e1ede482ec6eb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/missions/[id]/{page-793fa536b3a6ef37.js → page-2ce5471926761fdd.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-27e99b4e54a849d4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/not-found-e995d30f6800b6bf.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-39f89c53038a51d4.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-32cde713be47cddb.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-e7e10cd3386222e5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-5a753bb4ec0cc511.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-04250f0e2c0d03df.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/page-341480ed8e3c1ea8.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-e64caff084f7ce21.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-db07eaffba0df7e3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-8ac8d71c2adf9c8a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-e1e47d8d940aba3d.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/settings/page-86f91034bd5cabe5.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-94dc383d3d54db1a.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-c1a96669158471ec.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/setup/page-b3759cc14da80908.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/share/page-ce4d8a1215ce53a3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-58043db78ba519ae.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-357750dfb91bf960.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/term/{page-e297866051595d81.js → page-274703bc41b71333.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-194dce4a83143fce.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/trace/page-35bdeae2e2c17147.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/vault/page-3b7e821dc492bdfd.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-16bef3da05a900c3.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-f8da5dc6f3752276.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-2f810b18d89ecba6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-134c1bc762aee62c.js +1 -0
- package/apps/pwa/out/_next/static/chunks/{5cd7e3a9-404fd6b8d0ecd44c.js → f6231284-45726550aba08fca.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/{f48170cc-d05d28bf87a43bf4.js → f6b7c9ba.64a895b8b2fedbdc.js} +1 -1
- package/apps/pwa/out/_next/static/chunks/framework-5c169757551134ed.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-59fe95fed40c7a01.js +1 -0
- package/apps/pwa/out/_next/static/chunks/main-app-4ca74dbbee7057c6.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_app-13a0a886df4d97a1.js +1 -0
- package/apps/pwa/out/_next/static/chunks/pages/_error-6af8591cd3a3f038.js +1 -0
- package/apps/pwa/out/_next/static/chunks/webpack-539cde99554be20f.js +1 -0
- package/apps/pwa/out/_next/static/css/2e33713c444d5b39.css +1 -0
- package/apps/pwa/out/_next/static/x6mjI6vqOkVVu0jFuDkz1/_buildManifest.js +1 -0
- package/apps/pwa/out/approvals/index.html +1 -1
- package/apps/pwa/out/approvals/index.txt +23 -23
- package/apps/pwa/out/autopilot/index.html +1 -1
- package/apps/pwa/out/autopilot/index.txt +23 -23
- package/apps/pwa/out/board/index.html +1 -1
- package/apps/pwa/out/board/index.txt +23 -23
- package/apps/pwa/out/botlab/index.html +1 -1
- package/apps/pwa/out/botlab/index.txt +22 -22
- package/apps/pwa/out/bots/index.html +1 -1
- package/apps/pwa/out/bots/index.txt +22 -22
- package/apps/pwa/out/chat/index.html +1 -1
- package/apps/pwa/out/chat/index.txt +22 -22
- package/apps/pwa/out/consult/index.html +1 -1
- package/apps/pwa/out/consult/index.txt +23 -23
- package/apps/pwa/out/control/index.html +1 -1
- package/apps/pwa/out/control/index.txt +23 -23
- package/apps/pwa/out/design-check/index.html +1 -1
- package/apps/pwa/out/design-check/index.txt +23 -23
- package/apps/pwa/out/editor/index.html +1 -1
- package/apps/pwa/out/editor/index.txt +23 -23
- package/apps/pwa/out/exec/index.html +1 -1
- package/apps/pwa/out/exec/index.txt +23 -23
- package/apps/pwa/out/field/index.html +1 -1
- package/apps/pwa/out/field/index.txt +23 -23
- package/apps/pwa/out/healthz +1 -1
- package/apps/pwa/out/index.html +1 -1
- package/apps/pwa/out/index.txt +22 -22
- package/apps/pwa/out/inside/index.html +1 -1
- package/apps/pwa/out/inside/index.txt +22 -22
- package/apps/pwa/out/intake/index.html +1 -1
- package/apps/pwa/out/intake/index.txt +23 -23
- package/apps/pwa/out/live/index.html +1 -1
- package/apps/pwa/out/live/index.txt +23 -23
- package/apps/pwa/out/loops/index.html +1 -0
- package/apps/pwa/out/loops/index.txt +30 -0
- package/apps/pwa/out/market/index.html +1 -1
- package/apps/pwa/out/market/index.txt +22 -22
- package/apps/pwa/out/missions/placeholder/index.html +1 -1
- package/apps/pwa/out/missions/placeholder/index.txt +22 -22
- package/apps/pwa/out/morning/index.html +1 -1
- package/apps/pwa/out/morning/index.txt +23 -23
- package/apps/pwa/out/observatory/index.html +1 -1
- package/apps/pwa/out/observatory/index.txt +23 -23
- package/apps/pwa/out/ops/checklist/index.html +1 -1
- package/apps/pwa/out/ops/checklist/index.txt +22 -22
- package/apps/pwa/out/ops/release/index.html +1 -1
- package/apps/pwa/out/ops/release/index.txt +22 -22
- package/apps/pwa/out/ops/seats/index.html +1 -1
- package/apps/pwa/out/ops/seats/index.txt +22 -22
- package/apps/pwa/out/outputs/index.html +1 -1
- package/apps/pwa/out/outputs/index.txt +22 -22
- package/apps/pwa/out/reflection/index.html +1 -1
- package/apps/pwa/out/reflection/index.txt +23 -23
- package/apps/pwa/out/scheduler/index.html +1 -1
- package/apps/pwa/out/scheduler/index.txt +23 -23
- package/apps/pwa/out/sessions/index.html +1 -1
- package/apps/pwa/out/sessions/index.txt +22 -22
- package/apps/pwa/out/settings/devices/index.html +1 -1
- package/apps/pwa/out/settings/devices/index.txt +23 -23
- package/apps/pwa/out/settings/index.html +1 -1
- package/apps/pwa/out/settings/index.txt +23 -23
- package/apps/pwa/out/setup/done/index.html +1 -1
- package/apps/pwa/out/setup/done/index.txt +23 -23
- package/apps/pwa/out/setup/index.html +1 -1
- package/apps/pwa/out/setup/index.txt +23 -23
- package/apps/pwa/out/share/index.html +1 -1
- package/apps/pwa/out/share/index.txt +23 -23
- package/apps/pwa/out/showroom/index.html +1 -1
- package/apps/pwa/out/showroom/index.txt +22 -22
- package/apps/pwa/out/tasks/index.html +1 -1
- package/apps/pwa/out/tasks/index.txt +23 -23
- package/apps/pwa/out/term/index.html +1 -1
- package/apps/pwa/out/term/index.txt +23 -23
- package/apps/pwa/out/today/index.html +1 -1
- package/apps/pwa/out/today/index.txt +23 -23
- package/apps/pwa/out/trace/index.html +1 -1
- package/apps/pwa/out/trace/index.txt +23 -23
- package/apps/pwa/out/vault/index.html +1 -1
- package/apps/pwa/out/vault/index.txt +23 -23
- package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
- package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
- package/apps/pwa/out/workflows/index.html +1 -1
- package/apps/pwa/out/workflows/index.txt +23 -23
- package/apps/pwa/out/workspace/index.html +1 -1
- package/apps/pwa/out/workspace/index.txt +23 -23
- package/apps/pwa/out/worktrees/index.html +1 -1
- package/apps/pwa/out/worktrees/index.txt +23 -23
- package/examples/teams/personas/backend.yaml +4 -0
- package/examples/teams/personas/pm.yaml +4 -0
- package/examples/teams/personas/qa.yaml +4 -0
- package/examples/teams/small-product.yaml +20 -0
- package/graphs/lecture/lecture-note.yaml +28 -0
- package/graphs/lecture/recipes.yaml +17 -0
- package/graphs/orchestrator/orchestrator.yaml +59 -0
- package/graphs/orchestrator/recipes.yaml +18 -0
- package/graphs/release/recipes.yaml +3 -0
- package/graphs/release/release-loop.yaml +4 -1
- package/graphs/rhythm/daily.yaml +38 -0
- package/graphs/rhythm/recipes.yaml +18 -0
- package/graphs/rhythm/weekly.yaml +39 -0
- package/graphs/video/recipes.yaml +3 -0
- package/graphs/video/youtube-summary.yaml +17 -0
- package/package.json +2 -1
- package/scripts/audit-test-state-writes.ts +72 -17
- package/scripts/brand/check.ts +186 -0
- package/scripts/context-hooks/emit.ts +36 -14
- package/scripts/coord-channel-watch.sh +1 -0
- package/scripts/coord-post.sh +11 -1
- package/scripts/discord-seat-probe.ts +144 -0
- package/scripts/docs-cli-check.ts +23 -6
- package/scripts/expose-rubric-check.ts +118 -0
- package/scripts/expose-rubric-suggest.ts +163 -0
- package/scripts/heal/run-role.ts +14 -0
- package/scripts/hq/hq-standby.sh +65 -0
- package/scripts/hq/standby-promote.ts +173 -0
- package/scripts/hq/standby-role.ts +59 -0
- package/scripts/hq/standby-snapshot.ts +226 -0
- package/scripts/hq/standby-verify.ts +223 -0
- package/scripts/lecture-note/node.ts +256 -0
- package/scripts/lessons/handbook-page.ts +85 -0
- package/scripts/release-loop/gate-node.ts +62 -15
- package/scripts/release-loop/ops-upgrade-node.ts +17 -5
- package/scripts/release-loop/publish-node.ts +14 -1
- package/scripts/release-loop/unattended-release.ts +23 -1
- package/scripts/release-loop/vault-note-node.ts +196 -0
- package/scripts/release-story/draft.ts +172 -0
- package/scripts/rhythm/daily.ts +383 -0
- package/scripts/rhythm/weekly.ts +294 -0
- package/scripts/skills/public-check.ts +169 -0
- package/scripts/test-deterministic.ts +57 -11
- package/scripts/test-diet/effectiveness.ts +195 -0
- package/scripts/test-diet/lib.ts +16 -8
- package/scripts/test-diet/node.ts +77 -9
- package/scripts/ux/demo-rehearsal.ts +2 -2
- package/scripts/ux/lib/rehearsal-verdict.ts +1 -0
- package/scripts/video/youtube-summary.ts +133 -0
- package/skills/diagram-master/SKILL.md +42 -49
- package/skills/diagram-master/references/pyproject.toml +4 -1
- package/skills/diagram-master/references/routing-guide.md +4 -2
- package/skills/grill-me/SKILL.md +1 -0
- package/skills/omni-crawl/SKILL.md +16 -16
- package/skills/omni-crawl/package-lock.json +1 -544
- package/skills/omni-crawl/package.json +3 -4
- package/skills/omni-crawl/scripts/main.ts +13 -13
- package/skills/omni-crawl/scripts/monitor.ts +8 -8
- package/skills/omni-crawl/src/apify.ts +13 -2
- package/skills/omni-crawl/src/capture.ts +6 -0
- package/skills/omni-crawl/src/registry.ts +2 -2
- package/skills/omni-crawl/src/stdout-json.ts +4 -0
- package/skills/omni-digest/SKILL.md +10 -11
- package/skills/omni-digest/package-lock.json +0 -545
- package/skills/omni-digest/package.json +2 -5
- package/skills/omni-digest/scripts/main.ts +3 -3
- package/skills/omni-digest/src/delegate.ts +5 -5
- package/skills/omni-digest/src/fetch.ts +2 -2
- package/skills/omni-digest/src/media.ts +25 -11
- package/skills/omni-digest/src/visual.ts +3 -2
- package/skills/omni-market/scripts/main.ts +1 -1
- package/skills/omni-market/scripts/stdout-json.ts +4 -0
- package/skills/youtube-master/SKILL.md +13 -13
- package/skills/youtube-master/package-lock.json +0 -545
- package/skills/youtube-master/package.json +2 -5
- package/skills/youtube-master/scripts/main.ts +2 -2
- package/skills/youtube-master/scripts/transcribe-local.ts +1 -1
- package/skills/youtube-master/src/util.ts +30 -7
- package/src/agent/identity-env.ts +11 -0
- package/src/agent-mission/driver.ts +15 -10
- package/src/agent-mission/duo.ts +94 -0
- package/src/agent-mission/pty-decision.ts +1 -1
- package/src/autopilot/build/llm-conflict-merge.ts +45 -8
- package/src/autopilot/build/merge-intent.ts +53 -0
- package/src/autopilot/track-agent-shadow.ts +2 -1
- package/src/autopilot/track-agent.ts +4 -1
- package/src/boot/daemon-prompt-request.ts +3 -0
- package/src/boot/daemon-prompt-turn.ts +6 -2
- package/src/boot/daemon-runtime.ts +48 -16
- package/src/chat/index.ts +2 -0
- package/src/claims/claims-ledger.ts +232 -0
- package/src/claims/claims-render.ts +157 -0
- package/src/cli/claims-cli.ts +94 -0
- package/src/cli/decisions-cli.ts +84 -20
- package/src/cli/docs-cli.ts +2 -0
- package/src/cli/flow-cli.ts +11 -0
- package/src/cli/freeze-cli.ts +45 -0
- package/src/cli/lesson-cli.ts +108 -0
- package/src/cli/logs-cli.ts +104 -2
- package/src/cli/logs-model-input.ts +131 -0
- package/src/cli/outputs-cli.ts +92 -0
- package/src/cli/persona-cli.ts +29 -0
- package/src/cli/pod-cli.ts +10 -3
- package/src/cli/pr-cli.ts +44 -2
- package/src/cli/private-ledger-commands.ts +54 -4
- package/src/cli/pty-drive-verdict.ts +11 -2
- package/src/cli/release-cli.ts +248 -45
- package/src/cli/rfc-status.ts +91 -0
- package/src/connectors/linear.ts +5 -3
- package/src/context-bus/condense.ts +189 -0
- package/src/context-bus/context-day.ts +82 -0
- package/src/context-bus/context-now-public.ts +86 -0
- package/src/context-bus/context-now-surfaces.ts +70 -4
- package/src/context-bus/context-now.ts +4 -3
- package/src/context-bus/long-term-memory.ts +201 -24
- package/src/context-bus/nightly-condense.ts +1 -1
- package/src/dashboard/index.ts +75 -22
- package/src/dashboard/slash-runtime/chat-persona.ts +66 -0
- package/src/dashboard/slash-runtime/dashboard-handlers.ts +99 -0
- package/src/dashboard/slash-runtime/loops-table.ts +77 -0
- package/src/decisions/decision-cards.ts +13 -7
- package/src/decisions/decision-ledger.ts +83 -18
- package/src/discord/sprint21-runtime.ts +16 -0
- package/src/discord-self-message.ts +8 -0
- package/src/discord-slash-wire.ts +31 -2
- package/src/domains/outbound-alert.ts +1 -1
- package/src/elanous-config-dir.ts +29 -4
- package/src/execution-loop/launch-gate.ts +29 -14
- package/src/flow/cards.ts +239 -0
- package/src/graph-kinds/registry.ts +2 -2
- package/src/graph-runner/graph-approval-card.ts +2 -2
- package/src/graph-runner/graph-grow.ts +64 -11
- package/src/graph-runner/graph-tick.ts +13 -2
- package/src/graph-runner/runner.ts +111 -22
- package/src/harness/harness-cli-command.ts +178 -27
- package/src/harness/harness-incidents.ts +43 -12
- package/src/harness/harness-pod-dispatch.ts +2 -0
- package/src/harness/harness-queue-child.ts +37 -0
- package/src/harness/harness-queue.ts +494 -0
- package/src/harness/helper-scan.ts +139 -0
- package/src/harness/model-input-observation.ts +37 -0
- package/src/hooks/github-shadow.ts +72 -2
- package/src/hooks/receiver.ts +4 -2
- package/src/hq/hq.ts +318 -0
- package/src/hq/lease.ts +210 -0
- package/src/hq/ledger-write-target.ts +41 -0
- package/src/hq/promote.ts +301 -0
- package/src/index.ts +281 -27
- package/src/intake-plane/discord-seat-work.ts +13 -6
- package/src/intake-plane/linear-wish.ts +72 -0
- package/src/intake-plane/persona-answer.ts +5 -0
- package/src/intake-plane/telegram-seat-work.ts +13 -6
- package/src/intake-plane/wish-benchmark-ledger.ts +129 -0
- package/src/intake-plane/wish-card.ts +53 -2
- package/src/intake-plane/wish-folder.ts +5 -2
- package/src/intake-plane/wish-reply.ts +72 -0
- package/src/lessons/lesson-import.ts +106 -0
- package/src/lessons/lesson-ledger.ts +206 -0
- package/src/loops/activity.ts +203 -0
- package/src/loops/budget.ts +32 -0
- package/src/loops/checker.ts +180 -0
- package/src/loops/contract/examples/orchestrator.loop.yaml +1 -1
- package/src/loops/loop-cli.ts +72 -6
- package/src/loops/neighbors.ts +40 -0
- package/src/loops/observe.ts +59 -0
- package/src/loops/orchestrator/author-depth.ts +164 -0
- package/src/loops/orchestrator/author-input-check.ts +77 -0
- package/src/loops/orchestrator/author-ledger.ts +230 -0
- package/src/loops/orchestrator/finish-rate.ts +175 -0
- package/src/loops/orchestrator/overlap.ts +180 -0
- package/src/loops/orchestrator/resync-shadow.ts +227 -0
- package/src/loops/orchestrator/tick.ts +302 -0
- package/src/loops/orchestrator/traffic.ts +165 -0
- package/src/loops/package/verify.ts +125 -0
- package/src/loops/registry.ts +454 -9
- package/src/loops/status-rows.ts +118 -0
- package/src/loops/verdict.ts +34 -0
- package/src/maturity/bot-slash-catalog.ts +66 -0
- package/src/maturity/feature-maturity.ts +8 -5
- package/src/memory.ts +37 -4
- package/src/nexus/api/card-followup-route.ts +118 -0
- package/src/nexus/api/dashboard.ts +6 -1
- package/src/nexus/api/decisions-route.ts +68 -0
- package/src/nexus/api/http-server.ts +65 -2
- package/src/nexus/api/merge-approvals-gate.ts +1 -1
- package/src/nexus/api/personas.ts +2 -1
- package/src/nexus/api/schedules-read.ts +5 -1
- package/src/nexus/api/skill-exec-route.ts +97 -0
- package/src/nexus/api/task-cards-api.ts +44 -5
- package/src/nexus/api/workflows.ts +2 -1
- package/src/persona/loader.ts +18 -0
- package/src/persona/persona-todo.ts +14 -9
- package/src/persona/presets.ts +2 -1
- package/src/persona/team.ts +105 -0
- package/src/persona/types.ts +4 -0
- package/src/pod-lease/host-lease.ts +130 -20
- package/src/release-loop/auto-start.ts +48 -0
- package/src/release-loop/checklist.ts +13 -4
- package/src/release-loop/feature-store.ts +28 -16
- package/src/release-loop/landed-but-yellow.ts +12 -0
- package/src/release-loop/landing-freeze.ts +121 -0
- package/src/release-loop/placement.ts +242 -0
- package/src/release-loop/release-schedule.ts +3 -1
- package/src/seat-dispatch/ceo-commands.ts +2 -2
- package/src/seat-dispatch/seat-ask.ts +73 -15
- package/src/seat-dispatch/seat-questions.ts +58 -0
- package/src/seat-loop/seat-loop.ts +495 -46
- package/src/seat-loop/seat-pack.ts +127 -0
- package/src/self-dev/ask-launch-flow.ts +3 -0
- package/src/self-dev/dev-pipeline.ts +6 -2
- package/src/self-dev/draft-sweep.ts +76 -0
- package/src/self-dev/run-store.ts +73 -1
- package/src/self-dev/run-supervisor.ts +8 -0
- package/src/self-dev/self-orchestrate-runtime.ts +5 -1
- package/src/self-implement/budget-gate.ts +29 -0
- package/src/self-implement/expose-gate.ts +47 -0
- package/src/self-implement/frozen-merges.ts +294 -0
- package/src/self-implement/gate-cli.ts +10 -4
- package/src/self-implement/gate-scope.ts +46 -9
- package/src/self-implement/goal-archive.ts +222 -0
- package/src/self-implement/goal-lookup.ts +147 -0
- package/src/self-implement/heal-intake.ts +79 -0
- package/src/self-implement/host-regate.ts +25 -2
- package/src/self-implement/l8-merge-queue.ts +157 -1
- package/src/self-implement/orchestrator.ts +114 -10
- package/src/self-implement/revert-guard.ts +62 -0
- package/src/self-implement/run-ledger.ts +1 -1
- package/src/self-implement/seams.ts +28 -8
- package/src/session/index.ts +2 -0
- package/src/steward/launch.ts +5 -1
- package/src/steward/readiness.ts +125 -0
- package/src/steward/rescue.ts +75 -0
- package/src/steward/triage.ts +48 -9
- package/src/task-cards/card-cli.ts +86 -0
- package/src/task-cards/card-store.ts +10 -6
- package/src/task-orchestrator/surfaces/pod-lease.ts +23 -8
- package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +46 -6
- package/src/task-orchestrator/surfaces/pod-pool.ts +27 -10
- package/src/task-orchestrator/surfaces/self-implement-pod.ts +112 -18
- package/src/telegram-commands.ts +27 -3
- package/src/telegram-dispatch-forward.ts +1 -1
- package/src/telegram-fabric-plan.ts +90 -0
- package/src/telegram-loops-command.ts +44 -0
- package/src/telegram-project-command.ts +10 -4
- package/src/telegram.ts +5 -0
- package/src/tool-runtime/elanous-control-runtimes.ts +2 -1
- package/src/user-config.ts +204 -16
- package/src/version/packed-revision.json +1 -1
- package/src/workflow-runtime/executor.ts +4 -0
- package/src/workflow-runtime/node-catalog.ts +13 -0
- package/src/workflow-runtime/nodes/knowledge.ts +38 -0
- package/src/workflow-runtime/schema.ts +17 -1
- package/src/workflow-runtime/storage.ts +31 -13
- package/src/workflow-runtime/types.ts +13 -1
- package/apps/pwa/out/_next/static/-6XrAoD3eU7NyMHAE4xPS/_buildManifest.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1147-466ec15afacc1a65.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1159-0c5ef8bc21cb6afb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/1394-ee3795b112907122.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2176-c379e3ebce874151.js +0 -1
- package/apps/pwa/out/_next/static/chunks/2426.8c6ee0c668d53def.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3170-7ec60a56fa0e4728.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3278-ae6ef084769f6195.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3454-988a53dac60a1763.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3638-aa80b4641ea439db.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3735-fe3402553ac1c9c6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/3992-2e522a8ac5f2afde.js +0 -25
- package/apps/pwa/out/_next/static/chunks/4215-c9d91dd644ec1719.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4508-5d0161d1e724d735.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4733-623a79345b171e1c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/4883.3bd969ea1d3aaaff.js +0 -2
- package/apps/pwa/out/_next/static/chunks/5532.6899a12958a89b72.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5845-e6c003ce8d5fd36a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/5978-b27004c677119115.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6048-4c5c33579bc4ef78.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6303-422dbf0f67c72aac.js +0 -1
- package/apps/pwa/out/_next/static/chunks/6751-bb3595948b2e311b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7274-19b7279f18b47ab3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7277-0b2fc7c16ba2d64b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7551-a0e0707b79164ddd.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7758-0b018a9e4fc56200.js +0 -1
- package/apps/pwa/out/_next/static/chunks/7777-79f845045aa1ed86.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8025-cc24ee5d8f2fb6f8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8206-c6684dcde12be721.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8605-0259994816604c49.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8725.bf46bb1395dd0fa2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8734-252d511cd276c0dc.js +0 -1
- package/apps/pwa/out/_next/static/chunks/8834-ca1cb09c1cb1a6bf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9269.d2a4795bc6812717.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9538-2816b90923606459.js +0 -1
- package/apps/pwa/out/_next/static/chunks/9920-5cfdc5e8fd209825.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/_not-found/page-d16993889b125c42.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/approvals/page-cb169620945d1952.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/autopilot/page-cefe8169e36cf62a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/board/page-d2e35228bc497119.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/botlab/page-5c05b0da4bc1392c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/bots/page-e0ccdb576812b523.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/chat/page-813c4a52c9d05ca8.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/consult/page-4731f2c215358937.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/control/page-a022b257950f39e6.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/design-check/page-a2ffc717e04b8b0a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/editor/page-b59ee4e70fc18fcf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/field/page-c172dabd796eb7a3.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/healthz/route-d16993889b125c42.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/inside/page-1efd0cb9e0ed9d13.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/intake/page-d5dc7ff69a37b4cf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/layout-e71c84189e8c683e.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/live/page-1d6a533ce5a6efcb.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/market/page-dfca9b7d2de0b135.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/morning/page-6dd3bfbbde2a5c2c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/not-found-490653e8d4cc8852.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/observatory/page-77447356baad75d2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-29e961191f6057df.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/release/page-c822f55b884d9104.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-fa4ccfc432424e52.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/outputs/page-6d604227e1664b71.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/page-9c7e8f744a765daf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/reflection/page-4048543b4b7ad5e0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/scheduler/page-4c3a3126abed551a.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/sessions/page-64b0aecb1ca75e75.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/devices/page-4292d0149020e8a7.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/settings/page-db14d0be7f1c460c.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/done/page-e5d8072cd7cfef73.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/layout-d16993889b125c42.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/setup/page-9547b5cec7cf76bf.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/share/page-e6dcb83265530636.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/showroom/page-45248f08d6aecae5.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/tasks/page-2cddeb9e2aeedc55.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/today/page-baba2e047872fb0f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/trace/page-e895da4ec9cac345.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/vault/page-4344faf20216233b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-698bb29f11864b89.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workflows/page-bd6a6dc1ddc273f2.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/workspace/page-2e9e2fb01c9da1c9.js +0 -1
- package/apps/pwa/out/_next/static/chunks/app/worktrees/page-d62ceb13411ebba4.js +0 -1
- package/apps/pwa/out/_next/static/chunks/framework-172630e6aa5e2d7f.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-app-f0fe2d7477845181.js +0 -1
- package/apps/pwa/out/_next/static/chunks/main-fc98ac70b44eccb0.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_app-5bd7f10271f72413.js +0 -1
- package/apps/pwa/out/_next/static/chunks/pages/_error-97d0d85ea05fef9b.js +0 -1
- package/apps/pwa/out/_next/static/chunks/webpack-9e4d02d567b98240.js +0 -1
- package/apps/pwa/out/_next/static/css/128fb7fb670b2fbf.css +0 -1
- /package/apps/pwa/out/_next/static/{-6XrAoD3eU7NyMHAE4xPS → x6mjI6vqOkVVu0jFuDkz1}/_ssgManifest.js +0 -0
|
@@ -9,12 +9,11 @@ requires: []
|
|
|
9
9
|
|
|
10
10
|
# Diagram Master
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
**모든 렌더러의 공통 venv**: `references/` 디렉토리에서 `uv run python engines/<engine>/render_*.py`
|
|
12
|
+
Mermaid는 elanous 자체 `MermaidRender` 도구로 터미널 그림을 그린다. Python·venv·Playwright·외부 API 없이 동작하는 기본 경로다. Python 기반 PNG 렌더러(Matplotlib, Excalidraw, Nano Banana 2, Mermaid PNG 및 SVG 캡처)는 **선택 애드온**이며 기본 경로의 전제 조건이 아니다.
|
|
15
13
|
|
|
16
14
|
**핵심 원칙**
|
|
17
15
|
- 콘텐츠를 분석하여 **최적 엔진 자동 선택** — 사용자가 엔진을 몰라도 됨
|
|
16
|
+
- 선택 엔진의 애드온이 없으면 `이 엔진은 애드온 설치가 필요합니다 (cd skills/diagram-master/references && uv sync --extra python-engines && uv run --extra python-engines playwright install chromium)`라고 안내한다. 구조/흐름처럼 Mermaid로 대체 가능한 요청이면 먼저 Mermaid로 실제 그림을 렌더하고, 정밀 곡선·3D·AI 이미지 등 대체 불가능한 요청에는 없는 결과물을 만들어냈다고 말하지 않는다. 명시적으로 다른 엔진을 요청했다면 대체했음을 밝힌다.
|
|
18
17
|
- 각 엔진의 레퍼런스 문서는 `references/engines/<engine>/` 에 위치
|
|
19
18
|
- 생성 후 **품질 검증** 필수 — `references/quality-checklist.md` 참조
|
|
20
19
|
|
|
@@ -66,7 +65,7 @@ Step 5: 자유형 레이아웃이 필요한가?
|
|
|
66
65
|
→ YES: Excalidraw
|
|
67
66
|
|
|
68
67
|
Step 6: 기본 → Mermaid
|
|
69
|
-
|
|
68
|
+
흐름도/구조도는 MermaidRender 그림; 시퀀스·상태·ER·타임라인·간트·마인드맵은 Mermaid 코드 블록 또는 PNG 애드온
|
|
70
69
|
```
|
|
71
70
|
|
|
72
71
|
---
|
|
@@ -78,13 +77,13 @@ Step 6: 기본 → Mermaid
|
|
|
78
77
|
**레퍼런스**: `references/engines/mermaid/syntax-reference.md`, `references/engines/mermaid/domain-templates.md`
|
|
79
78
|
|
|
80
79
|
- **용도**: 흐름도, 구조도, 시퀀스, 상태, ER, 타임라인, 간트, 마인드맵, 클래스, 파이
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
- **강점**:
|
|
80
|
+
- **기본 렌더**: `MermaidRender` 네이티브 도구. Python 없이 `flowchart LR/RL/TB/BT`의 라벨 노드·화살표를 Unicode/ASCII로 렌더한다. `MermaidSyntax`는 문법 참고용이며 출력 포맷을 넓히지 않는다.
|
|
81
|
+
- **수식/그 밖의 Mermaid 타입**: Mermaid 코드 블록으로 제공하되 `MermaidRender`가 지원하지 않는 타입을 렌더했다고 주장하지 않는다. PNG가 꼭 필요하면 별도 Python/Playwright 애드온의 `render_mermaid.py`를 선택한다 (`@svg-katex` 전용 렌더러는 이 팩에 없음).
|
|
82
|
+
- **강점**: 기본 경로는 텍스트 기반으로 Python/venv 없이 작동; ELK·PNG는 선택 애드온의 별도 렌더 경로
|
|
84
83
|
|
|
85
|
-
**Mermaid rich 코드
|
|
84
|
+
**Mermaid rich 코드 규칙 (선택 PNG 애드온용; 아래 classDef 색상은 터미널 MermaidRender에 반영되지 않음)**:
|
|
86
85
|
- classDef + :::className — 시맨틱 스타일 적용
|
|
87
|
-
- Frontmatter
|
|
86
|
+
- PNG 애드온에서는 Frontmatter `title`, `config.layout: elk`, `config.theme: base` 사용 가능. 기본 `MermaidRender`용 flowchart에는 붙이지 않는다 (이 도구가 지원하는 간단한 문법만 사용).
|
|
88
87
|
- NEVER guess syntax — 반드시 `syntax-reference.md` 참조
|
|
89
88
|
- `end` 예약어는 `"end"`로 감쌈
|
|
90
89
|
- `%%` 주석 사용 (// 금지)
|
|
@@ -105,9 +104,9 @@ Step 6: 기본 → Mermaid
|
|
|
105
104
|
- Compact (기본, ≤6 노드): `flowchart LR`, 세로 길이 최소화
|
|
106
105
|
- Complex (>6 노드, 2단계+ 중첩): `flowchart TB` 허용
|
|
107
106
|
|
|
108
|
-
|
|
107
|
+
**수식 라벨**:
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
수식은 Mermaid 코드 블록으로 표현하거나, 이미지가 필수면 지원되는 애드온을 사용한다. `@svg-katex` 표기는 텍스트 레퍼런스용이며 이 팩에는 이를 PNG로 변환하는 전용 스크립트가 없다. 예:
|
|
111
110
|
|
|
112
111
|
````markdown
|
|
113
112
|
```mermaid
|
|
@@ -139,20 +138,15 @@ flowchart LR
|
|
|
139
138
|
| 시스템 레이아웃 | `block` |
|
|
140
139
|
| 다축 비교 | `radar-beta` |
|
|
141
140
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
# 수식 없음
|
|
146
|
-
uv run python engines/mermaid/render_mermaid.py {mmd_file} --scale 3
|
|
147
|
-
# 수식 있음
|
|
148
|
-
python render_mermaid_katex.py {mmd_file} --output diagram.png --scale 2
|
|
149
|
-
```
|
|
141
|
+
**기본 렌더링 (Python 불필요)**: `MermaidRender({"source":"flowchart LR\n A[시작] --> B[완료]"})`를 호출하고 반환된 그림을 사용자에게 보여준다. 파일로도 필요하면 `.mmd` 원본을 저장한다. 터미널의 Unicode/ASCII 그림이지 PNG/SVG 이미지가 아니다. 실제 지원 범위는 `MermaidRender` 설명대로 flowchart 방향 LR/RL/TB/BT의 노드·화살표이며, 시퀀스/ER/ELK 및 복잡한 스타일은 이 도구로 렌더되었다고 주장하지 않는다.
|
|
142
|
+
|
|
143
|
+
**선택 PNG 애드온**: 먼저 아래 설치 명령으로 애드온을 설치한 환경에서만 `references/`에서 `uv run --extra python-engines python engines/mermaid/render_mermaid.py {mmd_file} --scale 3`을 사용한다. 이 경로는 Playwright와 Mermaid.js CDN을 사용하며 오프라인 기본 경로가 아니다.
|
|
150
144
|
|
|
151
145
|
**Known Issues**:
|
|
152
146
|
- Playwright에서 `ElementHandle.screenshot(scale=N)` 에러 → `device_scale_factor` 사용
|
|
153
147
|
- Typora: classDef 대신 `style NodeId fill:...` 인라인 사용
|
|
154
148
|
- ELK: `wrappingWidth` 무시 → `<br/>`로 명시적 줄바꿈
|
|
155
|
-
- HTML/PDF에서 Mermaid.js CDN 타이밍 이슈 →
|
|
149
|
+
- HTML/PDF에서 Mermaid.js CDN 타이밍 이슈 → PNG가 필요할 때에만 **애드온 설치 후** `render_mermaid.py`로 사전 렌더링하여 `<img>` 삽입
|
|
156
150
|
|
|
157
151
|
---
|
|
158
152
|
|
|
@@ -167,10 +161,10 @@ python render_mermaid_katex.py {mmd_file} --output diagram.png --scale 2
|
|
|
167
161
|
**렌더링**:
|
|
168
162
|
```bash
|
|
169
163
|
cd ./references
|
|
170
|
-
uv run python engines/matplotlib/render_matplotlib.py {script.py} --dpi 300
|
|
171
|
-
uv run python engines/matplotlib/render_matplotlib.py {script.py} --output /path/out.png
|
|
172
|
-
uv run python engines/matplotlib/render_matplotlib.py {script.py} --figsize 12 8
|
|
173
|
-
uv run python engines/matplotlib/render_matplotlib.py {script.py} --style dark_background
|
|
164
|
+
uv run --extra python-engines python engines/matplotlib/render_matplotlib.py {script.py} --dpi 300
|
|
165
|
+
uv run --extra python-engines python engines/matplotlib/render_matplotlib.py {script.py} --output /path/out.png
|
|
166
|
+
uv run --extra python-engines python engines/matplotlib/render_matplotlib.py {script.py} --figsize 12 8
|
|
167
|
+
uv run --extra python-engines python engines/matplotlib/render_matplotlib.py {script.py} --style dark_background
|
|
174
168
|
```
|
|
175
169
|
|
|
176
170
|
---
|
|
@@ -189,7 +183,7 @@ uv run python engines/matplotlib/render_matplotlib.py {script.py} --style dark_b
|
|
|
189
183
|
3. 개념 → 비주얼 패턴 매핑 (Fan-Out, Convergence, Tree, Timeline, Spiral, Assembly Line 등)
|
|
190
184
|
4. 각 주요 개념에 **다른 비주얼 패턴** 사용 — 균일 카드 그리드 금지
|
|
191
185
|
5. JSON 생성 (대형 다이어그램은 섹션별 빌드)
|
|
192
|
-
6. 렌더링 & 검증 루프
|
|
186
|
+
6. 선택 애드온이 없으면 설치 한 줄 안내 또는 Mermaid 대체; 있으면 렌더링 & 검증 루프
|
|
193
187
|
|
|
194
188
|
**Container vs Free-Floating Text**: 기본은 free-floating text. Container는 focal point, visual grouping, 화살표 연결 대상일 때만 사용. <30% 텍스트만 container 안에.
|
|
195
189
|
|
|
@@ -200,7 +194,7 @@ uv run python engines/matplotlib/render_matplotlib.py {script.py} --style dark_b
|
|
|
200
194
|
**렌더링**:
|
|
201
195
|
```bash
|
|
202
196
|
cd ./references
|
|
203
|
-
uv run python engines/excalidraw/render_excalidraw.py {excalidraw_file}
|
|
197
|
+
uv run --extra python-engines python engines/excalidraw/render_excalidraw.py {excalidraw_file}
|
|
204
198
|
```
|
|
205
199
|
|
|
206
200
|
---
|
|
@@ -229,7 +223,7 @@ uv run python engines/excalidraw/render_excalidraw.py {excalidraw_file}
|
|
|
229
223
|
**렌더링**:
|
|
230
224
|
```bash
|
|
231
225
|
cd ./references
|
|
232
|
-
uv run python engines/svg/render_interactive_svg.py {html_file} --capture-states
|
|
226
|
+
uv run --extra python-engines python engines/svg/render_interactive_svg.py {html_file} --capture-states
|
|
233
227
|
```
|
|
234
228
|
|
|
235
229
|
---
|
|
@@ -247,11 +241,11 @@ Google Gemini 3.1 Flash Image Preview 기반 AI 다이어그램 생성.
|
|
|
247
241
|
```bash
|
|
248
242
|
cd ./references
|
|
249
243
|
# 텍스트 프롬프트
|
|
250
|
-
uv run python engines/nanobannana/render_nanobannana2.py "수요 공급 곡선" --output diagram.png
|
|
244
|
+
uv run --extra python-engines python engines/nanobannana/render_nanobannana2.py "수요 공급 곡선" --output diagram.png
|
|
251
245
|
# 참고 이미지 + 프롬프트
|
|
252
|
-
uv run python engines/nanobannana/render_nanobannana2.py "깔끔하게 재생성" --ref original.png --output clean.png
|
|
246
|
+
uv run --extra python-engines python engines/nanobannana/render_nanobannana2.py "깔끔하게 재생성" --ref original.png --output clean.png
|
|
253
247
|
# 프롬프트 파일
|
|
254
|
-
uv run python engines/nanobannana/render_nanobannana2.py --file prompt.txt --output result.png
|
|
248
|
+
uv run --extra python-engines python engines/nanobannana/render_nanobannana2.py --file prompt.txt --output result.png
|
|
255
249
|
```
|
|
256
250
|
|
|
257
251
|
---
|
|
@@ -275,19 +269,18 @@ magick {input.png} -crop WxH+X+Y {output.png}
|
|
|
275
269
|
|
|
276
270
|
## Unified Render Pipeline
|
|
277
271
|
|
|
278
|
-
모든 엔진 공통 워크플로우:
|
|
279
|
-
|
|
280
272
|
```
|
|
281
273
|
1. 콘텐츠 분석 → 엔진 자동 선택 (Decision Tree)
|
|
282
274
|
2. 참고 이미지가 있으면 → Read tool로 시각적 분석
|
|
283
275
|
3. 선택된 엔진의 reference docs 읽기 (필수)
|
|
284
|
-
4.
|
|
285
|
-
5.
|
|
286
|
-
6.
|
|
287
|
-
7. quality-checklist.md 기반 품질
|
|
288
|
-
8. 필요시 수정 → 재렌더링 (2-5회 반복)
|
|
276
|
+
4. Mermaid 가능 → 간단한 flowchart 코드를 Bash가 아닌 MermaidRender에 전달해 실제 터미널 그림을 얻는다. Python·설치 명령을 실행하지 않는다.
|
|
277
|
+
5. 다른 엔진 필수 → 애드온 설치 여부를 확인한다. 없으면 위 한 줄을 안내하고, Mermaid로 대체 가능하면 4로 돌아간다. 설치를 사용자 동의 없이 자동 수행하지 않는다.
|
|
278
|
+
6. 선택 엔진으로 렌더링 → Mermaid는 Unicode/ASCII, 애드온은 PNG/SVG 등 해당 형식으로 출력
|
|
279
|
+
7. 렌더 결과 확인 및 quality-checklist.md 기반 품질 검증, 필요시 수정/재렌더링
|
|
289
280
|
```
|
|
290
281
|
|
|
282
|
+
`MermaidRender`가 숨겨져 있거나 호출에 실패하면 그림을 만들었다고 주장하지 않는다. 사용 가능한 Mermaid 코드 블록을 제시하고 도구 의존성(`bun add mermaidtui`)을 안내한다. Python 애드온 설치로 기본 렌더 실패를 우회하지 않는다.
|
|
283
|
+
|
|
291
284
|
### 참고 이미지 (--ref) 통합 워크플로우
|
|
292
285
|
|
|
293
286
|
| 엔진 | --ref 처리 방식 |
|
|
@@ -296,7 +289,7 @@ magick {input.png} -crop WxH+X+Y {output.png}
|
|
|
296
289
|
| Matplotlib | Read tool로 분석 → 색상/레이아웃/축 스타일 코드 반영 |
|
|
297
290
|
| Excalidraw | Read tool로 분석 → 구조/배치/연결선 JSON 반영 |
|
|
298
291
|
| SVG | Read tool로 분석 → 레이어/색상/인터랙션 HTML 반영 |
|
|
299
|
-
| Mermaid | Read tool로 분석 → 노드
|
|
292
|
+
| Mermaid | Read tool로 분석 → 기본 MermaidRender는 노드 구조만 반영; 색상 classDef는 PNG 애드온일 때 사용 |
|
|
300
293
|
|
|
301
294
|
## 목표 품질 기준
|
|
302
295
|
|
|
@@ -326,17 +319,17 @@ magick {input.png} -crop WxH+X+Y {output.png}
|
|
|
326
319
|
Phase 3 다이어그램 처리 시:
|
|
327
320
|
1. 기존 PDF 다이어그램 → PDF 추출 검토
|
|
328
321
|
2. 새 다이어그램 필요 → diagram-master auto-routing
|
|
329
|
-
3. 수식 포함 구조도 → Mermaid
|
|
330
|
-
4. 경제학 곡선/분포 → Matplotlib
|
|
331
|
-
5. 기타
|
|
322
|
+
3. 수식 포함 구조도 → Mermaid 코드 블록 (전용 PNG 수식 렌더러 없음)
|
|
323
|
+
4. 경제학 곡선/분포 → Matplotlib 선택 애드온 (없으면 설치 한 줄 안내)
|
|
324
|
+
5. 기타 흐름/구조도 → MermaidRender 기본 그림
|
|
332
325
|
```
|
|
333
326
|
|
|
334
327
|
### lecture-note-digitizer 연동
|
|
335
328
|
```
|
|
336
329
|
Phase 3 Chart PNG 생성 시:
|
|
337
330
|
1. 다이어그램 유형 판단 → diagram-master auto-routing에 위임
|
|
338
|
-
2. 수학 곡선이 필요하면 → Matplotlib
|
|
339
|
-
3.
|
|
331
|
+
2. 수학 곡선이 필요하면 → Matplotlib 선택 애드온; 없으면 설치 한 줄 안내 (정밀 곡선을 Mermaid 그림이라고 속이지 않음)
|
|
332
|
+
3. 그 외 PNG가 필수라면 Mermaid PNG 애드온을 설치; 터미널 그림으로 충분한 흐름도라면 MermaidRender 기본
|
|
340
333
|
```
|
|
341
334
|
|
|
342
335
|
## Content-Aware 전처리 (선택적)
|
|
@@ -349,18 +342,18 @@ Phase 3 Chart PNG 생성 시:
|
|
|
349
342
|
|
|
350
343
|
## 무료로 쓰는 길 (키 없이)
|
|
351
344
|
|
|
352
|
-
`
|
|
345
|
+
`MermaidRender`로 Python 없는 환경에서도 흐름도의 터미널 그림을 생성합니다. 정밀한 PNG·인터랙티브 캡처는 별도의 Python 애드온 설치 후 사용합니다. Nano Banana AI 이미지는 애드온과 API 키가 모두 필요합니다.
|
|
353
346
|
|
|
354
347
|
## 내 키로 쓰는 길
|
|
355
348
|
|
|
356
349
|
AI 이미지 생성이 필요하면 실행 환경의 `GEMINI_API_KEY`(또는 코드가 허용하는 `GOOGLE_API_KEY`)에 자신의 키를 설정하고 `references/engines/nanobannana/render_nanobannana2.py`를 실행합니다. 다른 엔진에는 이 키가 필요하지 않습니다. 키 값이나 자격 파일은 사본에 넣지 않습니다.
|
|
357
350
|
|
|
358
|
-
## 설치
|
|
351
|
+
## 선택 애드온 설치
|
|
359
352
|
|
|
360
|
-
|
|
353
|
+
Mermaid 기본 렌더에는 설치가 필요하지 않습니다 (`MermaidRender`는 elanous의 `mermaidtui` 의존성을 사용). Python 엔진으로 PNG/캡처를 만들 때에만 저장소 루트에서 다음 한 줄을 실행합니다:
|
|
361
354
|
|
|
362
355
|
```bash
|
|
363
|
-
cd references
|
|
364
|
-
uv sync
|
|
365
|
-
uv run playwright install chromium
|
|
356
|
+
cd skills/diagram-master/references && uv sync --extra python-engines && uv run --extra python-engines playwright install chromium
|
|
366
357
|
```
|
|
358
|
+
|
|
359
|
+
애드온 설치 후 Python 스크립트는 `references/`에서 `uv run --extra python-engines python engines/<engine>/render_*.py`로 실행합니다. Nano Banana는 추가로 `GEMINI_API_KEY` 또는 `GOOGLE_API_KEY`가 필요합니다.
|
|
@@ -3,7 +3,10 @@ name = "diagram-master"
|
|
|
3
3
|
version = "2.0.0"
|
|
4
4
|
description = "Diagram Master - unified renderer for all diagram engines"
|
|
5
5
|
requires-python = ">=3.11"
|
|
6
|
-
dependencies = [
|
|
6
|
+
dependencies = []
|
|
7
|
+
|
|
8
|
+
[project.optional-dependencies]
|
|
9
|
+
python-engines = [
|
|
7
10
|
"matplotlib>=3.9",
|
|
8
11
|
"numpy>=1.26",
|
|
9
12
|
"pillow>=10.0",
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
|
|
22
22
|
## Decision Tree (순서대로 판단)
|
|
23
23
|
|
|
24
|
+
아래는 **표현 형식 선택**이다. 기본 출력은 `MermaidRender`의 터미널 flowchart 그림 (Python 불필요)이며, 다른 형식/엔진이 필요할 때는 먼저 Python 애드온 설치 여부를 확인한다. 없으면 `이 엔진은 애드온 설치가 필요합니다 (cd skills/diagram-master/references && uv sync --extra python-engines && uv run --extra python-engines playwright install chromium)`라고 안내하고 흐름/구조로 표현 가능한 경우 Mermaid 그림으로 대체한다. 정밀 곡선·3D·AI 이미지 등은 동등한 대체가 불가능하므로 결과물을 가장하지 않는다. 명시 엔진을 대체했다면 사용자에게 알린다. `MermaidRender`는 LR/RL/TB/BT flowchart 노드·화살표 범위만 지원하며, 그 외 Mermaid 타입은 코드 블록 또는 애드온의 PNG 렌더 경로다.
|
|
25
|
+
|
|
24
26
|
```
|
|
25
27
|
┌─────────────────────────────────────────────────────┐
|
|
26
28
|
│ Step 0: 모드 판단 │
|
|
@@ -75,7 +77,7 @@
|
|
|
75
77
|
| 관계 모델 | ER 다이어그램, 클래스 다이어그램 |
|
|
76
78
|
| 시간 기반 | 타임라인, 간트 차트, 마일스톤 |
|
|
77
79
|
| 분류/범주 | 마인드맵, 파이 차트 |
|
|
78
|
-
| 수식 포함 구조도 | `@svg-katex`
|
|
80
|
+
| 수식 포함 구조도 | Mermaid 코드 블록 (`@svg-katex` 전용 PNG 렌더러는 이 팩에 없음); 단순 라벨 흐름도만 `MermaidRender` |
|
|
79
81
|
|
|
80
82
|
### Matplotlib (수학/과학 정밀)
|
|
81
83
|
|
|
@@ -148,7 +150,7 @@
|
|
|
148
150
|
## 경계 사례 판단
|
|
149
151
|
|
|
150
152
|
### Mermaid vs Matplotlib
|
|
151
|
-
- 구조 + 수식 라벨 → Mermaid (`@svg-katex`)
|
|
153
|
+
- 구조 + 수식 라벨 → Mermaid 코드 블록 (`@svg-katex` 전용 렌더러 없음). 단순 라벨 흐름도면 `MermaidRender` 그림 가능
|
|
152
154
|
- 연속 곡선 + 정밀 축 → **Matplotlib**
|
|
153
155
|
- XY 데이터 단순 차트 → Mermaid `xychart-beta`도 가능하지만, 축 커스터마이징이 필요하면 Matplotlib
|
|
154
156
|
|
package/skills/grill-me/SKILL.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
name: grill-me
|
|
3
3
|
description: 계획·설계·결정을 «공감대에 이를 때까지» 끈질기게 인터뷰한다. 설계 트리를 가지마다 내려가며 결정 간 의존을 풀고, 산출을 SCQA 카드 ⊕ 골 문면으로 남긴다. "grill me", "그릴미", "캐물어줘", "추궁해줘", "인터뷰해줘", "나를 인터뷰", "계획 캐물어", "설계 캐물어", "이 계획 파고들어", "전제를 캐줘", "요구사항 캐내줘", "뭘 빠뜨렸나", "계획 스트레스 테스트", "설계 스트레스 테스트", "공감대" 등의 언급 시 이 스킬 사용. Use when the user wants to: grill me, grill this plan, grill this design, interview me, stress-test this plan, pressure-test my design, find what I am missing, resolve the decision tree.
|
|
4
4
|
disable-model-invocation: true
|
|
5
|
+
prompt-only: true
|
|
5
6
|
argument-hint: "무엇을 캐물을까 — 계획·설계·결정 하나"
|
|
6
7
|
# 오픈코어 경계(scripts/skill-boundary.ts) — requires = 없으면 이 스킬이 일을 못 하는 catalog/resources.yaml 자원 id
|
|
7
8
|
requires: []
|
|
@@ -54,7 +54,7 @@ requires: []
|
|
|
54
54
|
|
|
55
55
|
## 무료로 쓰는 길 (키 없이)
|
|
56
56
|
|
|
57
|
-
이 스킬 폴더에서 `
|
|
57
|
+
이 스킬 폴더에서 `bun scripts/main.ts "<검색어>" --free --print`로 DDG 검색을 사용합니다. URL 본문은 키 없는 Jina Reader 또는 로컬 HTML 추출을 사용할 수 있습니다. `--free`는 유료 엔진을 피하려는 명시적 선택이며, 검색 서비스 접속이 막히면 결과가 없을 수 있습니다.
|
|
58
58
|
|
|
59
59
|
## 내 키로 쓰는 길
|
|
60
60
|
|
|
@@ -93,34 +93,34 @@ requires: []
|
|
|
93
93
|
이 스킬 폴더에서 실행합니다.
|
|
94
94
|
|
|
95
95
|
```bash
|
|
96
|
-
|
|
96
|
+
bun scripts/main.ts "<검색어>" [OPTIONS]
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
### 예시
|
|
100
100
|
|
|
101
101
|
```bash
|
|
102
102
|
# 기본 (tavily · OMNI_CRAWL_TAVILY=0 이면 ddg 무료)
|
|
103
|
-
|
|
103
|
+
bun scripts/main.ts "Samsung HBM4 경쟁력" --print
|
|
104
104
|
|
|
105
105
|
# 뉴스 (오늘자)
|
|
106
|
-
|
|
106
|
+
bun scripts/main.ts "삼성전자 뉴스" --time-range day --print
|
|
107
107
|
|
|
108
108
|
# 딥리서치
|
|
109
|
-
|
|
109
|
+
bun scripts/main.ts "SK하이닉스 전망" --mode deep --print
|
|
110
110
|
|
|
111
111
|
# Conatus 파이프라인 (구조화 JSON)
|
|
112
|
-
|
|
112
|
+
bun scripts/main.ts "NVDA earnings" --json
|
|
113
113
|
|
|
114
114
|
# 전 엔진 라이브 진단 (+크레딧 잔량)
|
|
115
|
-
|
|
115
|
+
bun scripts/main.ts --health
|
|
116
116
|
|
|
117
117
|
# 개발 아티팩트 (라이브러리 동작·에러·버그 수정 여부)
|
|
118
|
-
|
|
118
|
+
bun scripts/main.ts "pydantic model_validator wrap mode" --engine fc-dev --print
|
|
119
119
|
|
|
120
120
|
# X 트윗 벌크 / 커뮤니티 / 사이트 크롤
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
bun scripts/main.ts "bitcoin outlook" --engine apify --min-favs 50 --print
|
|
122
|
+
bun scripts/main.ts "Claude Code 반응" --engine grok-community --print
|
|
123
|
+
bun scripts/main.ts "https://news.samsung.com" --engine fc-crawl --print
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
## 옵션
|
|
@@ -189,13 +189,13 @@ changed/new 페이지를 텔레그램(/v1/outbound)으로 알림. 첫 체크는
|
|
|
189
189
|
|
|
190
190
|
```bash
|
|
191
191
|
# 생성 (자연어 스케줄 · goal=judge 판정으로 노이즈 억제·변경페이지당 1cr)
|
|
192
|
-
|
|
192
|
+
bun scripts/monitor.ts create --name "삼성전자 뉴스룸" \
|
|
193
193
|
--urls "https://news.samsung.com/kr/latest" --schedule "every 1 hours" \
|
|
194
194
|
--goal "새 기사 등장 시 알림. 날짜/배너 등 사소한 변경 무시."
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
bun scripts/monitor.ts list # 목록+예상 크레딧/월
|
|
196
|
+
bun scripts/monitor.ts checks <monitorId> # 체크 이력 (same/changed/new)
|
|
197
|
+
bun scripts/monitor.ts run <monitorId> # 즉시 1회 체크
|
|
198
|
+
bun scripts/monitor.ts delete <monitorId>
|
|
199
199
|
```
|
|
200
200
|
|
|
201
201
|
운영 중(2026-07-06~): 삼성전자 뉴스룸·SK하이닉스 뉴스룸 (각 1h·~1,440cr/월).
|