@windyroad/architect 0.18.1 → 0.18.2-preview.809

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.
@@ -123,5 +123,5 @@
123
123
  }
124
124
  },
125
125
  "name": "wr-architect",
126
- "version": "0.18.1"
126
+ "version": "0.18.2"
127
127
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wr-architect",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "description": "Architecture decision enforcement for AI coding agents",
5
5
  "author": {
6
6
  "name": "Windy Road Technology",
@@ -199,6 +199,24 @@ mk_existing_adr() {
199
199
  [[ "$output" != *"BLOCKED"* ]]
200
200
  }
201
201
 
202
+ # P380: on macOS SESSION_MARKER_DIR defaults to /tmp, a symlink to /private/tmp.
203
+ # `find <symlink> -maxdepth 1` in default (-P) mode refuses to descend the
204
+ # start-point symlink, so candidate enumeration returns empty and the script
205
+ # writes ZERO markers (silent cold-path exit 0). The `-L` flag follows it. This
206
+ # test points SESSION_MARKER_DIR at a SYMLINK to the marker dir (reproducing the
207
+ # macOS /tmp shape on any platform); RED without `-L`, GREEN with it.
208
+ @test "mark-oversight-confirmed.sh enumerates candidates when SESSION_MARKER_DIR is a symlink (P380)" {
209
+ mk_existing_adr "251-symlink.proposed.md"
210
+ adr="$DIR/docs/decisions/251-symlink.proposed.md"
211
+ : > "$MARK_DIR/architect-announced-$SID"
212
+ link_dir="${MARK_DIR}.link"
213
+ ln -s "$MARK_DIR" "$link_dir"
214
+ SESSION_MARKER_DIR="$link_dir" bash "$MARK_SCRIPT" "$adr"
215
+ rm -f "$link_dir"
216
+ # Marker written under the discovered SID despite the symlinked marker dir.
217
+ [ -f "$(expected_marker "$adr")" ]
218
+ }
219
+
202
220
  # ── Non-Edit/Write tool calls always exit 0 silently ────────────────────
203
221
 
204
222
  @test "tool_name=Bash exits 0 silently regardless of file path" {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/architect",
3
- "version": "0.18.1",
3
+ "version": "0.18.2-preview.809",
4
4
  "description": "Architecture decision enforcement for AI coding agents",
5
5
  "bin": {
6
6
  "windyroad-architect": "./bin/install.mjs"
@@ -89,8 +89,10 @@ candidates=$(
89
89
  if [ -n "${CLAUDE_SESSION_ID:-}" ]; then
90
90
  echo "$CLAUDE_SESSION_ID"
91
91
  fi
92
- # Recent announce markers.
93
- find "$MARKER_DIR" -maxdepth 1 -name '*-announced-*' -mmin "-${WINDOW_MINS}" 2>/dev/null \
92
+ # Recent announce markers. `-L` follows the start-point symlink — on macOS
93
+ # MARKER_DIR defaults to /tmp, a symlink to /private/tmp, which `find` would
94
+ # otherwise refuse to descend (no-op on Linux where /tmp is a real dir). P380.
95
+ find -L "$MARKER_DIR" -maxdepth 1 -name '*-announced-*' -mmin "-${WINDOW_MINS}" 2>/dev/null \
94
96
  | sed 's|.*/||; s/.*-announced-//'
95
97
  } | awk 'NF && !seen[$0]++'
96
98
  )