agent-orchestrator/packages/core/src
Harsh Batheja 76ced8ca4a fix(pipeline): address PR review — workspace guard, anyFailed bridge, deep-equal
Resolves three review comments on PR #1886:

1. **WorkspaceGuard (P1)** — tightened to require `dependsOn`. The engine's
   `collectSiblingArtifacts` walks `dependsOn` transitively and nothing
   else; routes references and positional neighbors don't seed the BFS, so
   a stage that passed the guard via `hasPriorStage` or `hasRouteRefs`
   alone would silently receive an empty artifacts object at runtime.

2. **anyFailed → any_failed (P2)** — added a dedicated `any_failed` leaf to
   the DSL that checks `status === "failed"` specifically. The previous
   `not(all_pass)` bridge would have (incorrectly) fired for `skipped` /
   `outdated` stages too, since `isStagePassing` returns false for those.
   v1.1's semantics required `status === "failed"`; the dedicated leaf
   preserves it exactly. The reviewer's suggested fix had the same bug —
   `or(not(all_pass([s])))` is semantically identical to `not(all_pass)`.

3. **Key-order deep-equal (P2)** — replaced `JSON.stringify` comparator in
   config-diff.ts with a recursive deep-equal that sorts keys at every
   object level. A YAML reformatter reordering `executor.config` keys
   (`{tone,depth}` → `{depth,tone}`) would otherwise stringify to
   different strings and falsely classify the diff as structural,
   aborting an in-flight run for a no-op edit.

Tests updated to reflect the tightened workspace guard; new tests for
`any_failed` semantics and key-order independence. 1374/1374 passing.
2026-05-16 23:09:39 +05:30
..
__tests__ fix(pipeline): address PR review — workspace guard, anyFailed bridge, deep-equal 2026-05-16 23:09:39 +05:30
migration refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
pipeline fix(pipeline): address PR review — workspace guard, anyFailed bridge, deep-equal 2026-05-16 23:09:39 +05:30
prompts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
recovery fix(agent-plugins,lifecycle): distinguish indeterminate probe from "not found" + bump ps timeout (closes #1838) (#1839) 2026-05-14 21:50:39 +05:30
utils refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
activity-events.ts feat(core): wire activity events into lifecycle-manager failure paths (#1511) (#1620) 2026-05-06 22:14:21 +05:30
activity-log.ts feat: standardize agent plugins — shared hooks, activity JSONL, backfill aider/opencode (#755) 2026-04-01 21:50:07 +05:30
activity-signal.ts fix: address lifecycle review feedback (#122) 2026-04-17 19:38:32 +05:30
agent-report.ts refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
agent-selection.ts fix(core): forward allSessionPrefixes in resolveSessionRole 2026-04-06 23:11:59 -07:00
agent-workspace-hooks.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
atomic-write.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
cleanup-stack.ts refactor(core): replace spawn rollback ladder with CleanupStack (#1616) 2026-05-03 22:43:21 +05:30
config-generator.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
config.ts chore(pipelines): merge main into pipelines (40 commits) — resolve conflicts 2026-05-16 22:13:41 +05:30
daemon-children.ts fix(cli): reap daemon children on stop+SIGINT, sweep orphans on start (closes #1848) (#1849) 2026-05-15 03:38:09 +05:30
events-db.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
feature-flags.ts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
feedback-tools.ts feat(core): add feedback tools contracts, validation, storage, and dedupe 2026-03-10 22:31:39 +05:30
file-lock.ts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
format-automated-comments.ts fix(core): dispatch detailed bugbot review comments to agents (#1334) 2026-04-22 22:18:13 +05:30
gh-trace.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
git-activity.ts refactor(core): extract hasRecentCommits helper into @aoagents/ao-core (#1437) 2026-05-05 18:58:53 +05:30
global-config.ts feat(release): weekly release train — channels, onboarding, dashboard banner, cron (#1781) 2026-05-12 23:11:09 +05:30
index.ts chore(pipelines): merge main into pipelines (40 commits) — resolve conflicts 2026-05-16 22:13:41 +05:30
key-value.ts feat(core): add feedback tools contracts, validation, storage, and dedupe 2026-03-10 22:31:39 +05:30
lifecycle-manager.ts feat(lifecycle): inject failed-job/step + log tail into CI-failure agent messages (closes #1807) (#1810) 2026-05-15 05:48:45 +05:30
lifecycle-state.ts fix(core): clear terminatedAt/completedAt when restoring a session out of terminal state (closes #1831) (#1834) 2026-05-15 04:46:35 +05:30
lifecycle-status-decisions.ts refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
lifecycle-transition.ts fix(core): clear terminatedAt/completedAt when restoring a session out of terminal state (closes #1831) (#1834) 2026-05-15 04:46:35 +05:30
markdown.d.ts build(core): bundle prompt templates with rollup 2026-04-13 14:55:01 +05:30
metadata.ts feat(web): allow renaming worker sessions in the sidebar (#1748) 2026-05-10 19:41:48 +05:30
notifier-resolution.ts fix: merge upstream main and resolve conflicts for cursor agent 2026-04-10 11:48:27 +05:30
observability.ts fix: close remaining pr1300 follow-ups 2026-04-18 15:18:24 +05:30
opencode-agents-md.ts feat(opencode): enhance AGENTS.md handling 2026-04-11 18:58:04 +05:30
opencode-config.ts feat (core): inject worker prompt as instructions file (#1302) 2026-04-26 15:44:39 +05:30
opencode-session-id.ts feat: OpenCode session lifecycle and CLI controls (#315) 2026-03-08 09:55:44 +05:30
opencode-shared.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
orchestrator-prompt.ts fix(core): validate template placeholders before render 2026-04-16 20:13:58 +05:30
orchestrator-session-strategy.ts Fix orchestrator identity to use one canonical session per project (#1487) 2026-04-25 18:57:31 +05:30
paths.ts feat(pipeline): v0.1 — core types, state machine, flat-file store (#1636) 2026-05-04 16:12:45 +05:30
platform.ts fix(cli): reap daemon children on stop+SIGINT, sweep orphans on start (closes #1848) (#1849) 2026-05-15 03:38:09 +05:30
plugin-registry.ts feat(plugin): implement kimicode agent plugin (#1390) 2026-05-01 14:11:30 +05:30
portfolio-projects.ts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
portfolio-registry.ts refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
portfolio-routing.ts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
portfolio-session-service.ts refactor(core): storage redesign — projectId-based paths, JSON metadata (#1466) 2026-04-28 17:55:53 +05:30
process-cache.ts refactor(spawn): plugin-owned preflight + collapse project resolution (#1622) 2026-05-04 14:03:26 +05:30
project-resolver.ts Add multi-project storage, resolution, and project settings support (#1343) 2026-04-21 17:45:55 +05:30
prompt-builder.ts feat: enable worker→orchestrator dialogue via `ao send` with auto-sender prefix (#1787) 2026-05-10 21:50:43 +05:30
query-activity-events.ts feat: add SQLite-backed activity event logging layer (#1528) 2026-05-01 21:13:20 +05:30
report-watcher.ts fix: address PR #1300 requested changes 2026-04-18 11:13:53 +05:30
scm-webhook-utils.ts feat: add SCM webhook lifecycle triggers (#394) 2026-03-11 10:34:41 +05:30
session-manager.ts fix(core): sm.list() no longer writes terminated state to disk (#1737) 2026-05-16 19:05:49 +05:30
spawn-target.ts fix(cli): derive projectId from prefixed issue id on spawn (#1330) 2026-04-22 22:18:39 +05:30
storage-key.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
tmux.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
types.ts chore(pipelines): merge main into pipelines (40 commits) — resolve conflicts 2026-05-16 22:13:41 +05:30
update-cache.ts feat(release): weekly release train — channels, onboarding, dashboard banner, cron (#1781) 2026-05-12 23:11:09 +05:30
utils.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30
version-compare.ts feat(release): weekly release train — channels, onboarding, dashboard banner, cron (#1781) 2026-05-12 23:11:09 +05:30
windows-pty-registry.ts feat(windows): complete Windows support (#1025) 2026-05-09 00:10:53 +05:30