kaizen-agent 1.6.4 → 1.6.6

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
@@ -297,7 +297,7 @@ backlog; `⋯` on a card runs, edits, rejects, abandons or archives. `Clear` on
297
297
  every finished run to the archive (`.kaizen/archive.md`, a list, nothing moves), and
298
298
  `Archive` in the strip shows what is there, with `Restore` on each card. The gear at the top right holds the browser's theme
299
299
  and every `kaizen settings` knob, same rows, same `config.yml`. `--port N` picks a port, `--no-open` just
300
- serves, `?all=1` in the URL opens on every project. `--daemon` starts the server
300
+ serves, the board opens on every project; `?all=0` in the URL narrows it to the one it was started in. `--daemon` starts the server
301
301
  detached so it outlives the terminal (pid kept in `~/.kaizen/web.pid`); `--stop` ends it. `kaizen web --shortcut` adds a launcher
302
302
  the OS can find — Spotlight on macOS, the app menu on Linux, a Desktop shortcut on Windows.
303
303
 
package/cli/dashboard.ts CHANGED
@@ -539,7 +539,7 @@ export async function dashboard(
539
539
  const painted = k.awaiting ? c.red(line) : k.dim ? c.dim(line) : line;
540
540
  lines.push(`${marker} ${dot} ${painted}`);
541
541
  }
542
- if (allProjects && k.where !== "global") lines.push(" " + c.dim(cut(basename(k.where), inner - 4)));
542
+ if (allProjects && k.where !== "no project") lines.push(" " + c.dim(cut(basename(k.where), inner - 4)));
543
543
  // First note line only; the rest is for the web board's detail panel.
544
544
  if (k.notes) { const n = parseNotes(k.notes); const l = n[n.length - 1]?.text.split("\n")[0]; if (l) lines.push(" " + c.dim(cut(l, inner - 4))); }
545
545
  lines.push("");
package/cli/state.ts CHANGED
@@ -256,7 +256,7 @@ export function version(repo: string) {
256
256
  }
257
257
  // The global state directory is not a project and has no parent worth naming.
258
258
  export function label(stateDir: string) {
259
- return stateDir === join(home, ".kaizen") ? "global" : tilde(dirname(stateDir));
259
+ return stateDir === join(home, ".kaizen") ? "no project" : tilde(dirname(stateDir));
260
260
  }
261
261
 
262
262
  export function tilde(p: string) { return p.startsWith(home) ? "~" + p.slice(home.length) : p; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaizen-agent",
3
- "version": "1.6.4",
3
+ "version": "1.6.6",
4
4
  "description": "Staged workflow for AI agents — code, writing, research, operations: plan, human approval, build, independent review, bounded fix loop.",
5
5
  "type": "module",
6
6
  "bin": {
package/web/board.html CHANGED
@@ -229,7 +229,7 @@ const ICON={idea:"idea",starting:"start",running:"run",stalled:"stall",waiting:"
229
229
  const WORD={idea:"idea",starting:"starting",running:"running",stalled:"stalled",waiting:"waiting on you",done:"done",abandoned:"abandoned"};
230
230
 
231
231
  let S={project:null,projects:[],cards:[],now:Date.now(),all:false};
232
- let all=new URLSearchParams(location.search).get("all")==="1",openKey=null,mode=null,modeKey=null,filter=null,menuKey=null,tab=0,runDoc=null;
232
+ let all=new URLSearchParams(location.search).get("all")!=="0",openKey=null,mode=null,modeKey=null,filter=null,menuKey=null,tab=0,runDoc=null;
233
233
  // A column shows this many cards, then a "more" line; Done is where it matters.
234
234
  const FOLD=6;const unfolded=new Set();
235
235
  let archive=false;
@@ -302,7 +302,7 @@ function render(){
302
302
  strip.push(`<span class="sp"></span><span>${cs.filter(c=>c.kind==="idea").length} ideas · ${cs.filter(c=>c.kind==="run").length} runs</span>`,`<button class="${archive?"on":""}" data-f="__archive">${archive?"Back to board":"Archive "+nArch}</button>`);
303
303
  $("strip").innerHTML=strip.join("");
304
304
  $("strip").querySelectorAll("button").forEach(c=>c.onclick=()=>{if(c.dataset.f==="__archive"){archive=!archive;filter=null;render();return}filter=filter===c.dataset.f?null:c.dataset.f;render()});
305
- const sel=$("proj");sel.innerHTML=(S.project?`<option value="cur">${esc(S.project)}</option>`:"")+`<option value="all">All projects</option>`;sel.value=all||!S.project?"all":"cur";
305
+ const sel=$("proj");sel.innerHTML=`<option value="all">All projects</option>`+(S.project?`<option value="cur">${esc(S.project)}</option>`:"");sel.value=all||!S.project?"all":"cur";
306
306
  if(!cs.length&&mode!=="new"){b.innerHTML=archive?'<div class="empty"><div class="mascot"></div><div>Nothing archived.</div></div>':'<div class="empty"><div class="mascot"></div><div>Nothing here yet.</div><button class="btn pri" id="newempty">New idea</button></div>';if(!archive)$("newempty").onclick=()=>{mode="new";render()};}
307
307
  COLS.forEach((name,ci)=>{
308
308
  const s=document.createElement("section");const list=cs.filter(c=>c.column===ci&&(!filter||c.status===filter));