@windyroad/architect 0.12.2-preview.462 → 0.12.2-preview.463

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windyroad/architect",
3
- "version": "0.12.2-preview.462",
3
+ "version": "0.12.2-preview.463",
4
4
  "description": "Architecture decision enforcement for AI coding agents",
5
5
  "bin": {
6
6
  "windyroad-architect": "./bin/install.mjs"
@@ -125,7 +125,10 @@ get_bullets() {
125
125
  | head -"$cap"
126
126
  }
127
127
 
128
- # Compact-join bullets onto one line, truncating each to N chars + "".
128
+ # Compact-join bullets onto one line, truncating each to N chars + "...".
129
+ # P334: ASCII "..." (3 bytes) instead of Unicode `…` (U+2026, 3 bytes UTF-8) so
130
+ # substr() length math agrees across BSD awk (byte-counting) and GNU awk
131
+ # (char-counting) without LC_ALL gymnastics. Sibling: P328.
129
132
  # Joins with "; ". Strips markdown emphasis to keep the line scannable.
130
133
  compact_join_bullets() {
131
134
  local per_item="${1:-120}"
@@ -138,7 +141,7 @@ compact_join_bullets() {
138
141
  gsub(/`/, "")
139
142
  # Drop nested-bullet continuation lines that survived earlier filters.
140
143
  if (length($0) == 0) next
141
- if (length($0) > n) line = substr($0, 1, n) ""
144
+ if (length($0) > n) line = substr($0, 1, n) "..."
142
145
  else line = $0
143
146
  if (out == "") out = line
144
147
  else out = out "; " line
@@ -188,7 +191,7 @@ truncate_with_ellipsis() {
188
191
  printf '%s' "$s"
189
192
  return
190
193
  fi
191
- printf '%s' "${s:0:n}"
194
+ printf '%s' "${s:0:n}..."
192
195
  }
193
196
 
194
197
  # --- Per-ADR entry emitter -------------------------------------------------
@@ -211,7 +214,7 @@ emit_entry() {
211
214
 
212
215
  # Chosen-option line — truncate to a comfortable summary length.
213
216
  chosen=$(get_chosen "$file" | strip_links | oneline)
214
- chosen=$(printf '%s' "$chosen" | awk -v n=240 '{ if (length($0) > n) print substr($0,1,n) ""; else print }')
217
+ chosen=$(printf '%s' "$chosen" | awk -v n=240 '{ if (length($0) > n) print substr($0,1,n) "..."; else print }')
215
218
 
216
219
  # Confirmation: cap 5 bullets, ≤ 110 chars each, joined with "; " on one line.
217
220
  # This is the routine-compliance scannable view; the full Confirmation list