You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(spec,release): Windows-green plan tests + valid release plan (#595)
* fix(spec): forward-slash publish result paths; deterministic archive-target collision
spec_change_path/plan_workspace_path returned OS-native separators, so
Windows callers (and the plan.test.ts contains-assertions) saw
backslash paths. archiveChange relied on renameSync failing onto an
existing target — POSIX throws, Windows MoveFileEx clobbers — so the
existence check is now explicit.
* fix(spec,release): Windows-green plan tests + valid release plan
- publishPlan returns forward-slash spec_change_path/plan_workspace_path
so Windows callers (and plan.test.ts contains-assertions) see
separator-stable reference paths.
- archiveChange checks the archive target explicitly: POSIX renameSync
threw on an existing target, Windows MoveFileEx silently clobbered —
the 'delta written then archive throws' test now errors on every OS.
- .changeset/post-tool-use-awareness-push.md referenced package 'colony'
(not in workspace; the CLI is 'colonyq'), which crashed changesets'
assemble-release-plan and failed every Release run since #594.
* fix(cli,mcp): Windows-portable test expectations + structured already-archived error
mcp-server going green on Windows exposed the next packages in pnpm's
recursive run: 9 apps/cli failures, all path-portability in tests —
expectations assumed POSIX literals where the implementation resolves
and shell-quotes OS-natively. Added shellQuoteForTest mirroring the
production quoting rule; cockpit/queen-health/agents-spawn expectations
now derive from resolve(). PATH stubs join with path.delimiter. The
gx/cue PATH-spawning integration tests gate to POSIX (both tools spawn
via execFileSync without shell, which Windows cannot satisfy).
spec_archive returns structured SPEC_ARCHIVE_ALREADY_EXISTS
(status: already_archived) instead of an opaque throw on same-day
re-archive (review follow-up).
* chore(release): mark internal @colony/* packages private
The npm @Colony scope is not ours (@colony/core@3.1.0 belongs to a
different project), so 'changeset publish' would 403 on every public
internal package and fail Release after versioning. colonyq is the
product artifact and ships self-contained (prepack bundles, no
@colony/* deps in the published tarball — e2e-publish green), so the
ten internal packages are now private: publish ships exactly colonyq.
* fix(spec,cli): review follow-ups — staging recovery, aligned shellQuote charset, normalized archived_path
---------
Co-authored-by: NagyVikt <nagy.viktordp@gmail.com>
Push awareness: when an edit touches a file another live session holds, the PostToolUse hook now injects a one-line `[Colony] session X recently claimed <file> …` note into the agent's context immediately (Claude Code `additionalContext`), instead of waiting for the next turn's preface. Debounced to once per 2 minutes per session via an `awareness-push` observation marker (hook processes are one-shot, so the marker doubles as audit trail). `autoClaimFromToolUse` now reports live-owner blocked takeovers in its `conflicts` result.
Windows CI green: `publishPlan` returns forward-slash `spec_change_path` / `plan_workspace_path` (separator-stable for MCP callers on every OS), and `archiveChange` fails deterministically when the archive target already exists (POSIX rename threw; Windows MoveFileEx silently clobbered).
0 commit comments