
> @wassname2/pi-goals@0.2.2 test
> vitest run --reporter=verbose


 RUN  v4.1.9 /home/code/.pi/agent/git/github.com/wassname/pi-goals

 ✓ test/package-agent.test.ts > package manifest > includes the extension without registering a packaged subagent 3ms
stdout | test/role-models.test.ts > remembers each role without automatic switching overwriting another role
Role preferences restored: planning=planner, worker=small-worker, supervisor=astra; restore events did not overwrite the choice.

 ✓ test/background.test.ts > reports tracked running work, rather than equating idle agent with finished jobs 2ms
 ✓ test/background.test.ts > distinguishes missing providers from an unavailable installed tracker 6ms
 ✓ test/role-models.test.ts > remembers each role without automatic switching overwriting another role 7ms
 ✓ test/role-models.test.ts > fails on an unavailable remembered model without replacing the choice 6ms
 ✓ test/prompts.test.ts > planning prompt > requires fact finding or a focused question before a goal 2ms
 ✓ test/prompts.test.ts > planning prompt > restores the same rule after compaction 0ms
 ✓ test/prompts.test.ts > planning prompt > anchors work and sign-off to the user-visible result 0ms
 ✓ test/intercom.test.ts > pi-intercom transport > receives exact advice once, acknowledges it and rejects unrelated peers 5ms
 ✓ test/intercom.test.ts > pi-intercom transport > restores an unacknowledged steer on reconnect and stops replay after acknowledgment 3ms
 ✓ test/intercom.test.ts > pi-intercom transport > advances the incremental overview only after acknowledgment 1ms
 ✓ test/intercom.test.ts > pi-intercom transport > cancels a readiness wait on shutdown 1ms
 ✓ test/herdr.test.ts > supervisor pane command > forks the planning session with pi-goals owning its Intercom dependency 2ms
 ✓ test/herdr.test.ts > supervisor pane command > accepts Herdr's text version output and stale pane cleanup 30ms
 ✓ test/worker-view.test.ts > keeps human direction and source location while sending only new messages 2ms
 ✓ test/worker-view.test.ts > restarts after compaction and does not report historical tool calls as active 0ms
 ✓ test/worker-view.test.ts > bounds serialized Unicode and quoted logs while marking omissions 2ms
 ✓ test/fold.test.ts > foldPlan (current goals are above ## Log; durable memory is below it) > keeps the title, user voice and goals 2ms
 ✓ test/fold.test.ts > foldPlan (current goals are above ## Log; durable memory is below it) > drops the log, the learnings and the unlimited appendix 0ms
 ✓ test/fold.test.ts > foldPlan (current goals are above ## Log; durable memory is below it) > returns the whole plan when there is no ## Log yet (a fresh draft) 0ms
 ✓ test/fold.test.ts > openSubtasks (the widget shows the next action, so the plan IS the task list) > lists the active goal's open and in-progress subtasks, stopping at the next goal 1ms
 ✓ test/fold.test.ts > openSubtasks (the widget shows the next action, so the plan IS the task list) > does not leak subtasks from the goal below 1ms
stdout | test/intercom-broker.test.ts > exchanges readiness, views and exact advice over a real isolated pi-intercom broker
Intercom broker: readiness confirmed; exact worker view and supervisor advice received.

 ✓ test/append-log.test.ts > appendLog (the extension's only plan-file write) > creates ## Log at EOF when absent 1ms
 ✓ test/append-log.test.ts > appendLog (the extension's only plan-file write) > appends after the last existing log line, before any following header 0ms
 ✓ test/tick-goal.test.ts > tickGoal (sign-off ticks the goal; agent only ticks on wording drift) > ticks the exact-matching goal line, case-insensitive, leaving subtasks alone 2ms
 ✓ test/tick-goal.test.ts > tickGoal (sign-off ticks the goal; agent only ticks on wording drift) > returns null on wording drift (fuzzy matching is the judge's job, not TypeScript's) 0ms
 ✓ test/tick-goal.test.ts > tickGoal (sign-off ticks the goal; agent only ticks on wording drift) > returns null when the subject matches more than one goal line 0ms
 ✓ test/intercom-broker.test.ts > exchanges readiness, views and exact advice over a real isolated pi-intercom broker 222ms
 ✓ test/goals-flow.test.ts > /goals flow > reports actual idle state, invalidates stopped views on start, and stops completed plans 36ms
 ✓ test/goals-flow.test.ts > /goals flow > preserves drafts, records the interview, and keeps planning read-only 24ms
 ✓ test/goals-flow.test.ts > /goals flow > forks a visible supervisor on Ready and keeps the main session as worker 26ms
 ✓ test/goals-flow.test.ts > /goals flow > starts work only after the supervisor launcher resolves 21ms
 ✓ test/goals-flow.test.ts > /goals flow > delivers an Intercom instruction to the worker 21ms
 ✓ test/goals-flow.test.ts > /goals flow > closes the supervisor on clear but keeps the plan file 19ms
 ✓ test/goals-flow.test.ts > /goals flow > accepts only an approval for the exact clean commit and goal block 47ms
 ✓ test/goals-flow.test.ts > process role > keeps subagent children and visible supervisors out of the worker extension 0ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > restores monitoring and read-only tools without replaying persisted views 7ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > renders all advice in real Pi tool rows, including collapsed and restored rows 22ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > asks for judgment and useful recaps without inventing instructions 1ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > writes readiness only after removing writing tools 2ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > compacts a large planning fork before writing readiness 2ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > does not become ready when initial compaction fails 3ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > writes a durable worker instruction 5ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > records approval only from a stopped view with evidence and no active work 49ms
 ✓ test/rpc-review.test.ts > RPC review flow > opens Refine's editor before it starts the revision turn 1427ms

 Test Files  14 passed (14)
      Tests  45 passed (45)
   Start at  16:49:24
   Duration  1.79s (transform 1.51s, setup 0ms, import 4.33s, tests 2.03s, environment 1ms)


> @wassname2/pi-goals@0.2.2 typecheck
> tsc --noEmit


> @wassname2/pi-goals@0.2.2 lint
> biome check src/ test/

Checked 26 files in 62ms. No fixes applied.
