@xn-intenton-z2a/agentic-lib 7.4.29 → 7.4.31

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.
@@ -1357,12 +1357,14 @@ jobs:
1357
1357
  # ─── Review: close resolved issues, enhance with criteria ──────────
1358
1358
  # W15: Skip review when there are no open issues to review
1359
1359
  review-features:
1360
- needs: [params, maintain, supervisor, telemetry]
1360
+ needs: [params, maintain, supervisor, telemetry, director]
1361
1361
  if: |
1362
1362
  !cancelled() &&
1363
1363
  (needs.params.outputs.mode == 'full' || needs.params.outputs.mode == 'review-only') &&
1364
1364
  needs.params.result == 'success' &&
1365
- needs.telemetry.outputs.open-issue-count != '0'
1365
+ needs.telemetry.outputs.open-issue-count != '0' &&
1366
+ needs.director.outputs.decision != 'mission-complete' &&
1367
+ needs.director.outputs.decision != 'mission-failed'
1366
1368
  runs-on: ubuntu-latest
1367
1369
  steps:
1368
1370
  - uses: actions/checkout@v6
@@ -1716,7 +1718,7 @@ jobs:
1716
1718
 
1717
1719
  # ─── Post-merge: stats, schedule, mission check ────────────────────
1718
1720
  post-merge:
1719
- needs: [params, maintain, dev, pr-cleanup, implementation-review]
1721
+ needs: [params, maintain, dev, pr-cleanup, implementation-review, director]
1720
1722
  if: ${{ !cancelled() && needs.params.result == 'success' }}
1721
1723
  runs-on: ubuntu-latest
1722
1724
  steps:
@@ -1743,6 +1745,8 @@ jobs:
1743
1745
  if: |
1744
1746
  needs.params.outputs.mission-complete != 'true' &&
1745
1747
  needs.params.outputs.dry-run != 'true' &&
1748
+ needs.director.outputs.decision != 'mission-complete' &&
1749
+ needs.director.outputs.decision != 'mission-failed' &&
1746
1750
  github.repository != 'xn-intenton-z2a/agentic-lib'
1747
1751
  env:
1748
1752
  LOG_BRANCH: ${{ needs.params.outputs.log-branch }}
@@ -1756,6 +1760,8 @@ jobs:
1756
1760
  if: |
1757
1761
  needs.params.outputs.mission-complete != 'true' &&
1758
1762
  needs.params.outputs.dry-run != 'true' &&
1763
+ needs.director.outputs.decision != 'mission-complete' &&
1764
+ needs.director.outputs.decision != 'mission-failed' &&
1759
1765
  github.repository != 'xn-intenton-z2a/agentic-lib'
1760
1766
  with:
1761
1767
  node-version: "24"
@@ -1764,6 +1770,8 @@ jobs:
1764
1770
  if: |
1765
1771
  needs.params.outputs.mission-complete != 'true' &&
1766
1772
  needs.params.outputs.dry-run != 'true' &&
1773
+ needs.director.outputs.decision != 'mission-complete' &&
1774
+ needs.director.outputs.decision != 'mission-failed' &&
1767
1775
  hashFiles('scripts/self-init.sh') != '' && hashFiles('.github/agentic-lib/actions/agentic-step/package.json') == ''
1768
1776
  run: bash scripts/self-init.sh
1769
1777
 
@@ -1771,6 +1779,8 @@ jobs:
1771
1779
  if: |
1772
1780
  needs.params.outputs.mission-complete != 'true' &&
1773
1781
  needs.params.outputs.dry-run != 'true' &&
1782
+ needs.director.outputs.decision != 'mission-complete' &&
1783
+ needs.director.outputs.decision != 'mission-failed' &&
1774
1784
  github.repository != 'xn-intenton-z2a/agentic-lib'
1775
1785
  working-directory: .github/agentic-lib/actions/agentic-step
1776
1786
  run: |
@@ -1784,6 +1794,8 @@ jobs:
1784
1794
  if: |
1785
1795
  needs.params.outputs.mission-complete != 'true' &&
1786
1796
  needs.params.outputs.dry-run != 'true' &&
1797
+ needs.director.outputs.decision != 'mission-complete' &&
1798
+ needs.director.outputs.decision != 'mission-failed' &&
1787
1799
  github.repository != 'xn-intenton-z2a/agentic-lib'
1788
1800
  timeout-minutes: 10
1789
1801
  uses: ./.github/agentic-lib/actions/agentic-step
@@ -1802,6 +1814,8 @@ jobs:
1802
1814
  if: |
1803
1815
  needs.params.outputs.mission-complete != 'true' &&
1804
1816
  needs.params.outputs.dry-run != 'true' &&
1817
+ needs.director.outputs.decision != 'mission-complete' &&
1818
+ needs.director.outputs.decision != 'mission-failed' &&
1805
1819
  github.repository != 'xn-intenton-z2a/agentic-lib'
1806
1820
  env:
1807
1821
  LOG_BRANCH: ${{ needs.params.outputs.log-branch }}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xn-intenton-z2a/agentic-lib",
3
- "version": "7.4.29",
3
+ "version": "7.4.31",
4
4
  "description": "Agentic-lib Agentic Coding Systems SDK powering automated GitHub workflows.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -79,10 +79,58 @@ else
79
79
 
80
80
  for attempt in $(seq 1 $MAX_RETRIES); do
81
81
  git push origin "${BRANCH}" && break
82
- echo "push-to-logs: push failed (attempt $attempt) — pulling and retrying"
82
+ echo "push-to-logs: push failed (attempt $attempt) — fetching latest and retrying"
83
+
84
+ # Fetch the latest remote state before rebasing
85
+ git fetch origin "${BRANCH}" 2>/dev/null || true
86
+
87
+ # Save our file contents before rebase (they may be lost on conflict)
88
+ for f in "${FILES[@]}"; do
89
+ cp "$f" "${TMPDIR}/ours-$(basename "$f")" 2>/dev/null || true
90
+ done
91
+
83
92
  git pull --rebase origin "${BRANCH}" || {
84
- echo "push-to-logs: rebase conflict — aborting and retrying"
85
- git rebase --abort 2>/dev/null || true
93
+ echo "push-to-logs: rebase conflict — resolving state file with merge strategy"
94
+
95
+ # For agentic-lib-state.toml conflicts, merge booleans (prefer true) and take max counters
96
+ STATE_FILE="agentic-lib-state.toml"
97
+ if git diff --name-only --diff-filter=U 2>/dev/null | grep -q "$STATE_FILE"; then
98
+ # Get the remote (theirs) version from the rebase base
99
+ git show "REBASE_HEAD:${STATE_FILE}" > "${TMPDIR}/ours-${STATE_FILE}" 2>/dev/null || true
100
+ git checkout --theirs "$STATE_FILE" 2>/dev/null || true
101
+
102
+ # Merge: for each boolean in our version that is true, set it true in theirs
103
+ if [ -f "${TMPDIR}/ours-${STATE_FILE}" ]; then
104
+ # Extract true booleans from our version and apply them
105
+ while IFS='=' read -r key val; do
106
+ key=$(echo "$key" | xargs)
107
+ val=$(echo "$val" | xargs)
108
+ if [ "$val" = "true" ]; then
109
+ # Set this key to true in the resolved file (theirs)
110
+ if grep -q "^${key} = " "$STATE_FILE" 2>/dev/null; then
111
+ sed -i "s/^${key} = .*/${key} = true/" "$STATE_FILE" 2>/dev/null || \
112
+ sed -i'' "s/^${key} = .*/${key} = true/" "$STATE_FILE" 2>/dev/null || true
113
+ fi
114
+ fi
115
+ done < "${TMPDIR}/ours-${STATE_FILE}"
116
+ fi
117
+
118
+ git add "$STATE_FILE"
119
+ fi
120
+
121
+ # Resolve any other conflicting files by taking ours (our log files are authoritative)
122
+ for f in "${FILES[@]}"; do
123
+ if git diff --name-only --diff-filter=U 2>/dev/null | grep -q "$(basename "$f")"; then
124
+ cp "${TMPDIR}/ours-$(basename "$f")" "$f" 2>/dev/null || true
125
+ git add "$f"
126
+ fi
127
+ done
128
+
129
+ # Continue the rebase if there are resolved conflicts
130
+ git rebase --continue 2>/dev/null || {
131
+ echo "push-to-logs: rebase continue failed — aborting"
132
+ git rebase --abort 2>/dev/null || true
133
+ }
86
134
  }
87
135
  sleep $((attempt * 2))
88
136
  if [ "$attempt" -eq "$MAX_RETRIES" ]; then
@@ -17,7 +17,7 @@
17
17
  "author": "",
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@xn-intenton-z2a/agentic-lib": "^7.4.29"
20
+ "@xn-intenton-z2a/agentic-lib": "^7.4.31"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@playwright/test": "^1.58.0",