@polderlabs/bizar 3.20.17 → 3.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -67,6 +67,48 @@ Free (Mimir, Heimdall) → $Mid (Thor, Hermod) → $$High (Tyr) → $$$Ultra (Vi
|
|
|
67
67
|
|
|
68
68
|
Never use a paid agent for work a free agent can do. Never use Tyr for what Thor can handle.
|
|
69
69
|
|
|
70
|
+
## When to use Glyphs (visual plans)
|
|
71
|
+
|
|
72
|
+
Glyphs are the dashboard's `/artifacts/<slug>/artifact.mdx` — MDX with rich blocks (RichText, Callout, Checklist, Table, CodeTabs, Decision, OpenQuestions, FileTree, Diff, Stat, Workflow, Mockup, Diagram) plus free-placed comments that the user can pin anywhere on the artifact.
|
|
73
|
+
|
|
74
|
+
**Use Glyphs for BIG decisions, NOT small questions:**
|
|
75
|
+
- A new feature with multiple UI states, design choices, or trade-offs
|
|
76
|
+
- A UI redesign that affects multiple components
|
|
77
|
+
- An architectural change spanning 3+ files
|
|
78
|
+
- Any change where the user should review before code is written
|
|
79
|
+
- Any work where the user wants to annotate specific spots on a mockup/diagram with feedback
|
|
80
|
+
|
|
81
|
+
**Don't use Glyphs for:**
|
|
82
|
+
- "What does this function do?" — use `@frigg` or the `read` tool
|
|
83
|
+
- A simple bug fix with one obvious cause — just fix it
|
|
84
|
+
- Single-file changes with no design questions
|
|
85
|
+
- Anything that can be answered in one sentence
|
|
86
|
+
|
|
87
|
+
When the user says "show me a plan", "let's review the design", "I want to see the UI options", or "what should this look like" — that's a Glyph trigger. When they say "fix this bug", "what does X do", "rename this" — that's a direct edit, not a Glyph.
|
|
88
|
+
|
|
89
|
+
## How to create a Glyph
|
|
90
|
+
|
|
91
|
+
1. Write `artifacts/<slug>/artifact.mdx` with frontmatter (`title`, `status`, `kind: plan|recap`) and blocks
|
|
92
|
+
2. Write `artifacts/<slug>/meta.json` with `{ title, slug, status, author, created, lastEdited }`
|
|
93
|
+
3. Write `artifacts/<slug>/comments.json` as `[]` initially (comments added via the dashboard)
|
|
94
|
+
4. Use the full block vocabulary — see `glyphs-research.md` in Obsidian or the dashboard's `/api/artifacts/<slug>/render` for the JSON shape
|
|
95
|
+
|
|
96
|
+
Templates available:
|
|
97
|
+
- `templates/plan/plan.mdx.template` — forward planning (before code)
|
|
98
|
+
- `templates/plan/plan.canvas.template` — legacy canvas (don't use; replaced by MDX)
|
|
99
|
+
|
|
100
|
+
## How to read glyph feedback
|
|
101
|
+
|
|
102
|
+
When the user clicks "Submit to agent" on a glyph in the dashboard, the dashboard writes a structured `artifacts/<slug>/feedback.md` file and marks `meta.json` `status: review`. That file contains:
|
|
103
|
+
|
|
104
|
+
- All free-placed comments with `(x, y)` coordinates and text
|
|
105
|
+
- Answers to OpenQuestions (one `Q:` / `A:` block per question)
|
|
106
|
+
- The original MDX source
|
|
107
|
+
|
|
108
|
+
Read it with the `read_glyph_feedback` tool (preferred — returns parsed frontmatter + body + counts), or read the file directly with the `read` tool.
|
|
109
|
+
|
|
110
|
+
After reading the feedback, regenerate the glyph's `artifact.mdx` to address every comment and apply every answer. Then write the regenerated MDX back to `artifacts/<slug>/artifact.mdx` (and update `meta.json` if the title/summary changes).
|
|
111
|
+
|
|
70
112
|
## Troubleshooting
|
|
71
113
|
|
|
72
114
|
### Odin Self-Handles Instead of Routing
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polderlabs/bizar",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.21.0",
|
|
4
4
|
"description": "Norse-pantheon multi-agent system for opencode — 13 agents across 4 cost tiers with cost-aware routing, plans, and a configurable agent harness.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"build:sdk": "npm run build -w @polderlabs/bizar-sdk",
|
|
22
22
|
"test:sdk": "npm run test -w @polderlabs/bizar-sdk",
|
|
23
23
|
"test:sdk:watch": "npm run test:watch -w @polderlabs/bizar-sdk",
|
|
24
|
-
"test": "npm run typecheck && npm run test:sdk && (cd plugins/bizar && bun test tests/loop.test.ts tests/block.test.ts tests/stall-think.test.ts tests/tools/bg-get-comments.test.ts tests/tools/bg-spawn-delegation.test.ts tests/tools/opencode-runner.test.ts tests/settings.test.ts tests/commands.test.ts tests/commands-impl.test.ts tests/tools/plan-action.test.ts tests/tools/wait-for-feedback.test.ts tests/reasoning-clean.test.ts tests/key-rotation.test.ts) && node bizar-dash/tests/smoke-v2.mjs && node --test bizar-dash/tests/path-safe.test.mjs bizar-dash/tests/tmux-wrap.test.mjs bizar-dash/tests/opencode-runner.test.mjs bizar-dash/tests/mod-instructions.node.test.mjs bizar-dash/tests/mod-upgrade.node.test.mjs bizar-dash/tests/graphify-mod-spawn.node.test.mjs bizar-dash/tests/no-agent-browser.node.test.mjs bizar-dash/tests/providers-store-backup-keys.node.test.mjs bizar-dash/tests/dashboard-ports.test.mjs",
|
|
24
|
+
"test": "npm run typecheck && npm run test:sdk && (cd plugins/bizar && bun test tests/loop.test.ts tests/block.test.ts tests/stall-think.test.ts tests/tools/bg-get-comments.test.ts tests/tools/bg-spawn-delegation.test.ts tests/tools/opencode-runner.test.ts tests/settings.test.ts tests/commands.test.ts tests/commands-impl.test.ts tests/tools/plan-action.test.ts tests/tools/wait-for-feedback.test.ts tests/tools/read-glyph-feedback.test.ts tests/reasoning-clean.test.ts tests/key-rotation.test.ts) && node bizar-dash/tests/smoke-v2.mjs && node --test bizar-dash/tests/path-safe.test.mjs bizar-dash/tests/tmux-wrap.test.mjs bizar-dash/tests/opencode-runner.test.mjs bizar-dash/tests/mod-instructions.node.test.mjs bizar-dash/tests/mod-upgrade.node.test.mjs bizar-dash/tests/graphify-mod-spawn.node.test.mjs bizar-dash/tests/no-agent-browser.node.test.mjs bizar-dash/tests/providers-store-backup-keys.node.test.mjs bizar-dash/tests/dashboard-ports.test.mjs bizar-dash/tests/submit-feedback.test.mjs",
|
|
25
25
|
"build": "npm run build:sdk"
|
|
26
26
|
},
|
|
27
27
|
"keywords": [
|