boxglow 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,6 +11,22 @@ Tasks are boxes with inputs and outputs; a box goes New (BlackBox: output decide
11
11
  - CLI for agents: `npx boxglow` (status / start / done / split / ask / answer ...)
12
12
  - License: MIT
13
13
 
14
+ ## What's new in 0.6.3
15
+
16
+ - **Policies**: share any output as a project-wide decision without wires (`port --policy`, MCP `boxglow_port`). Boxes in its scope wait for it before they start and are flagged "Policy: check again" when it changes after they are done.
17
+ - **Send back** instead of wiring a loop: an evaluation that fails returns the work to the box that made it, with the reason (`boxglow sendback`, MCP `boxglow_sendback`, "↩ Send back" on the I/O tab).
18
+ - **Wiring across levels**: drop a wire on a box in another level, connect from a list ("Connect from… / Connect to…"), or click two ports; inputs with the same name connect through the levels by themselves. A box can have several outputs, and connected ports share one name.
19
+ - **Easier editing and a calmer canvas**: everything that can be added can be removed (Delete works on wires, boxes and picked ports), a single click selects without opening the details panel, auto save is a toggle, Top shows every level, and wires around nested boxes are straighter, cross less and stay visible when zoomed out.
20
+
21
+ Details: [CHANGELOG.md](CHANGELOG.md). Update the CLI, `serve` and the VS Code extension (0.5.3) together.
22
+
23
+ ### 日本語: 0.6.3 の要点
24
+
25
+ - **方針**: 出力を線なしで範囲全体に配る決定にできる (`port --policy`、MCP `boxglow_port`)。範囲の箱は着手の前に方針を待ち、完了後に方針が変わると「方針: 確かめ直し」が付く。
26
+ - **差し戻し**: 評価が通らなかったら、線で戻さずに作った箱へ理由付きで戻す (`boxglow sendback`、MCP `boxglow_sendback`、I/O タブの「↩ 差し戻す」)。
27
+ - **階層をまたぐ結線**: 別の階層の箱へ線を落とす、一覧から選ぶ (「供給元から選ぶ… / 使う箱を足す…」)、丸を 2 回クリックする、のどれでもつながる。同じ名前の入力は階層を通って自動でつながる。箱は出力を複数持て、つながった入出力は名前が 1 つにそろう。
28
+ - **編集しやすく、見やすく**: 足せるものはすべて消せる (Delete で線・箱・選んだ丸)、1 回のクリックは選ぶだけで詳細は開かない、自動保存の切り替え、Top で全階層を表示、入れ子の箱の周りの線がまっすぐ・交差が少なく・縮小しても見える。
29
+
14
30
  ## What's new in 0.6.2
15
31
 
16
32
  - **`setup-agent` sets up everything for Claude Code and Codex**: hooks (the plan's resume summary is injected when a session starts, resumes or is compacted; an agent about to finish with an unrecorded box is told to record first; direct edits of `boxglow.json` are blocked), MCP registration, a review subagent, and the context guard. `setup-agent --check` shows what is installed, when each hook last fired, and the one-time steps left to you (Codex: trust the project and approve the hooks in the terminal CLI).
@@ -126,13 +142,16 @@ MCP provides `boxglow_context`, `boxglow_checkpoint`, and `contextToken` on guar
126
142
  | `review-box <block>` / `box-ok <block> --note` | The same for a box's readiness (target, deliverable, checks, inputs, upstream branch answers) |
127
143
  | `lint [block] [--strict]` | Must-fix gaps (missing expect / acceptance, parent outputs nobody makes, exclusive branch paths both required) and review candidates (single child, unconnected outputs, token entries) |
128
144
  | `start <block> --note` / `done <block> --artifact name=url` | Record work in progress / completion with deliverables |
145
+ | `port <block> --policy <output> [--policy-scope all\|<block>] [--advisory]` / `--skip-policy <box>.<output>` | Share a project-wide decision (technology choice, engine, style) with every box in scope without wires; they wait for it and read it in `context` |
146
+ | `sendback <block> --to <block> --note "why"` | A check or evaluation failed: send the work back to the box that made it (it returns to In Progress, its artifacts are kept as rejected). Wires never go backwards |
129
147
  | `split <block> --spec '<json>'` | Decompose a box into child boxes with named inputs / outputs and connections |
130
148
  | `ask <block> "question" --options "A\|B"` / `answer <block> "A"` | Ask a human for a decision / answer it |
131
149
  | `project <name>` | Add another project box to the same file (the top level holds only the input node, the output node and project boxes) |
132
150
  | `export-block <block>` / `import-block <file> --parent <block>` | Reuse a box (with its sub-boxes, ports and wiring) across projects as a `*.boxglow-block.json` template |
133
151
  | `reopen <block> --note "why"` | Reopen an answered decision: the old answer goes to its history, the candidates stay |
134
- | `tidy` | Re-save the file by the rules: connected inputs take their source's name, major boxes collapsed, overlaps resolved (fixes files written before these rules) |
135
- | `port <block|project> --in/--out/--rename` / `disconnect` / `move <block> --parent <block>` / `remove <block> [--force]` | Edit ports, remove a wire, move a box to another parent (wires are re-routed through the boxes in between), delete a box (and its children with `--force`) |
152
+ | `unask <block>` | Withdraw an unanswered question |
153
+ | `tidy` | Re-save the file by the rules: connected inputs and outputs share one name, overlaps resolved (fixes files written before these rules) |
154
+ | `port <block|project|inputs> --in/--out/--remove/--rename` / `disconnect` / `move <block> --parent <block>` / `remove <block> [--force]` | Edit ports (removing an input also removes the inputs it feeds), remove a wire, move a box to another parent (wires are re-routed through the boxes in between), delete a box (and its children with `--force`) |
136
155
  | `set <block> --status/--progress/--category/--due/--issue <url>/--repo` | Status, progress, category, schedule, JIRA / Redmine / GitHub issue link, repository |
137
156
  | `export --out docs/ROADMAP.md` / `export --format json` | Write the whole plan as Markdown (or JSON) |
138
157
  | `check` / `artifact` | Re-find deliverables after renames; attach a deliverable without finishing |
@@ -201,7 +220,7 @@ Writes become new versions on the server and reach the synced devices on their n
201
220
 
202
221
  ## VS Code extension
203
222
 
204
- Install **Boxglow** from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sukima.boxglow-vscode): search for "Boxglow" in the Extensions view, or run `code --install-extension sukima.boxglow-vscode`. Keep the extension and the CLI on matching releases (extension 0.5.2 goes with boxglow 0.6.2).
223
+ Install **Boxglow** from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=sukima.boxglow-vscode): search for "Boxglow" in the Extensions view, or run `code --install-extension sukima.boxglow-vscode`. Keep the extension and the CLI on matching releases (extension 0.5.3 goes with boxglow 0.6.3).
205
224
 
206
225
  `vscode/` holds the extension's source. It opens `boxglow.json` as the same diagram inside the editor (custom editor "Boxglow"; right-click the file or use the editor title button / command *Boxglow: Open boxglow.json as a diagram*). The diagram follows the file when the CLI or an agent writes it, edits in the diagram are written back, and light / dark follow the VS Code theme. To build it yourself: `npm run build:vscode` (bundles the web app into `vscode/media/`), then `cd vscode && npm run package` (`.vsix`, install via *Extensions: Install from VSIX...*).
207
226
 
@@ -239,7 +258,7 @@ Boxglow never uploads your files. A deliverable is a **reference**: a URL, or fo
239
258
  | State | Meaning | Look |
240
259
  |---|---|---|
241
260
  | New (BlackBox) | Output decided, nothing inside yet | Slate header, ○ icon |
242
- | In Progress (GrayBox) | Being decomposed or worked on | Teal header, ◐ icon, progress bar |
261
+ | In Progress (GrayBox) | Being worked on | Teal header, ◐ icon, progress bar |
243
262
  | Done (WhiteBox) | Output confirmed with a deliverable | Light header, ● with a check |
244
263
 
245
264
  Expanded boxes (containers) are drawn as frames: the shallower the level, the thicker the border, and the fill alternates per level so nesting is visible. Wires are thin and use colors never used for borders (thick green = the source already has a deliverable, thin amber = not yet). Selecting a wire highlights the whole signal in orange, through parent ports, from the original output to the final input.
@@ -265,7 +284,7 @@ Expanded boxes (containers) are drawn as frames: the shallower the level, the th
265
284
  - Progress: set a percentage per box (slider in the inspector or `boxglow set <block> --progress 60`); parents average their children, WhiteBox counts as 100.
266
285
  - Required inputs: every input is required by default; mark one as optional (任意) in the I/O tab if the box can start without it. A New box whose required inputs are all ready shows a `Ready` chip, and `boxglow status` lists such boxes first under next candidates.
267
286
  - Category: tag a box with what kind of work it is (study, research, design, ui, build, verify, evaluate, improve, fix, docs, ops, other). It shows as a colored stripe and a short label on the box, and the drawer's Filter can narrow by it. `boxglow add "..." --category design` / `boxglow set <block> --category verify|none`.
268
- - Saving: the top bar always shows Saved / Unsaved / Saving and a Save button. A local file opened directly in the browser is a read-only live view; edit it through `npx boxglow serve` or the VS Code extension.
287
+ - Saving is automatic: the top bar shows where the plan lives (browser or file) and Saved / Unsaved / Saving; plans in a file, serve or VS Code have a Save button (Ctrl+S) and an **Auto save** toggle: a file opened directly starts with auto save off (changes stay Unsaved until you save), serve and VS Code start with it on; the choice is remembered per kind of source. Retry appears when a save failed. A plan kept in the browser can be turned into a file with **Save to file** (Chrome / Edge pick a location and keep saving there; other browsers download a copy; the ⋯ menu has the same). A local file opened directly in the browser is a read-only live view; edit it through `npx boxglow serve` or the VS Code extension.
269
288
  - `boxglow validate` reports broken wiring as errors and "holes in the plan" (unconnected ports, Done boxes without deliverables) as warnings; `done` without `--artifact` warns.
270
289
 
271
290
  When a person answers a question an agent asked (`ask`), the answer stays listed as "Answered" (and editable) until an agent picks it up with `npx boxglow ack <block>` or by recording work on that box (`start`, `done`, `set`, ...). `status` lists such answers under "回答あり" so an agent never misses them.