
> @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 2ms
 ✓ 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 1ms
 ✓ test/prompts.test.ts > planning prompt > anchors work and sign-off to the user-visible result 0ms
 ✓ test/background.test.ts > reports tracked running work, rather than equating idle agent with finished jobs 3ms
 ✓ test/background.test.ts > distinguishes missing providers from an unavailable installed tracker 4ms
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/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 4ms
 ✓ test/worker-view.test.ts > keeps human direction and source location while sending only new messages 5ms
 ✓ test/worker-view.test.ts > restarts after compaction and does not report historical tool calls as active 1ms
 ✓ test/worker-view.test.ts > bounds serialized Unicode and quoted logs while marking omissions 3ms
 ✓ test/herdr.test.ts > supervisor pane command > forks the planning session with pi-goals owning its Intercom dependency 3ms
 ✓ test/herdr.test.ts > supervisor pane command > accepts Herdr's text version output and stale pane cleanup 30ms
 ✓ test/intercom.test.ts > pi-intercom transport > receives exact advice once, acknowledges it and rejects unrelated peers 6ms
 ✓ test/intercom.test.ts > pi-intercom transport > restores an unacknowledged steer on reconnect and stops replay after acknowledgment 6ms
 ✓ 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/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 1ms
 ✓ 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
 ✓ test/append-log.test.ts > appendLog (the extension's only plan-file write) > creates ## Log at EOF when absent 2ms
 ✓ 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
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/intercom-broker.test.ts > exchanges readiness, views and exact advice over a real isolated pi-intercom broker 206ms
 ✓ test/goals-flow.test.ts > /goals flow > reports actual idle state, invalidates stopped views on start, and stops completed plans 34ms
 ✓ test/goals-flow.test.ts > /goals flow > preserves drafts, records the interview, and keeps planning read-only 21ms
 ✓ test/goals-flow.test.ts > /goals flow > forks a visible supervisor on Ready and keeps the main session as worker 25ms
 ✓ 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/goals-flow.test.ts > /goals flow > starts work only after the supervisor launcher resolves 23ms
 ✓ test/goals-flow.test.ts > /goals flow > delivers an Intercom instruction to the worker 23ms
 ✓ test/goals-flow.test.ts > /goals flow > closes the supervisor on clear but keeps the plan file 27ms
 ✓ test/goals-flow.test.ts > /goals flow > accepts only an approval for the exact clean commit and goal block 163ms
 ✓ 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 8ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > renders all advice in real Pi tool rows, including collapsed and restored rows 27ms
 ✓ 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 3ms
 ✓ 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 2ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > writes a durable worker instruction 2ms
 ✓ test/supervisor-session.test.ts > visible supervisor session > records approval only from a stopped view with evidence and no active work 59ms
 ✓ test/rpc-review.test.ts > RPC review flow > opens Refine's editor before it starts the revision turn 1226ms
stdout | test/native-intercom.test.ts > runs a forked Pi supervisor and receives its exact instruction in another Pi session
Native Pi pair: fork retained planning context; SteerWorker delivered exactly: Read the real outputs before declaring completion.

 ✓ test/native-intercom.test.ts > runs a forked Pi supervisor and receives its exact instruction in another Pi session 2314ms

 Test Files  15 passed (15)
      Tests  46 passed (46)
   Start at  16:58:17
   Duration  2.73s (transform 2.47s, setup 0ms, import 5.82s, tests 4.28s, environment 2ms)


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


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

Checked 28 files in 21ms. No fixes applied.

> @wassname2/pi-goals@0.2.2 build
> tsc

