Task 5 one-line registry descriptions on the 8 biggest skills (remediation-tool,
gc-audit, packetdial, memory-dream, human-flow, self-check, impeccable,
mailprotector); skill-description injection ~3320 -> ~2123 tokens (~36%),
keyword triggers preserved, frontmatter valid.
Task 7 thinned /save + /sync bodies to point at sync.sh (single source) instead of
re-documenting internals; Phase 0 save-vs-sync, cross-user notes, exit-75
reporting kept verbatim; mechanical sync never depends on an LLM step.
Task 10 session-logs/YYYY-MM/ forward convention for new logs (scoped-grep recall,
no monolithic index); existing flat logs untouched (grep covers both).
Bash now-phoenix.sh helper (fixed UTC-7 epoch math; replaces unreliable
TZ=America/Phoenix date that silently returns UTC on Git-Bash).
P0 (1.2.0) + Task 6 CLAUDE split + Task 9 delegation (1.3.0) already shipped.
Spec: specs/claudetools-harness-optimization/plan.md.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
2.1 KiB
Bash
51 lines
2.1 KiB
Bash
#!/usr/bin/env bash
|
|
# now-phoenix.sh — emit the current America/Phoenix timestamp, deterministically.
|
|
#
|
|
# WHY: `TZ=America/Phoenix date` is unreliable on Git-for-Windows bash (the MSYS
|
|
# tz database is often absent, so it silently returns UTC). Arizona does NOT
|
|
# observe DST — it is fixed UTC-7 (MST) year-round — so we compute Phoenix time
|
|
# as (UTC epoch - 7h) and format it. No tz database, no DST edge cases, identical
|
|
# result on Windows / macOS / Linux.
|
|
#
|
|
# Usage:
|
|
# bash now-phoenix.sh -> 2026-06-08 14:32 PT (default, human log line)
|
|
# bash now-phoenix.sh --iso -> 2026-06-08T14:32:07-07:00
|
|
# bash now-phoenix.sh --date -> 2026-06-08
|
|
# bash now-phoenix.sh --datetime -> 2026-06-08 14:32:07
|
|
# bash now-phoenix.sh --epoch -> 1749422327 (raw UTC epoch, for arithmetic)
|
|
# bash now-phoenix.sh --fmt '+%H:%M' -> 14:32 (custom strftime, applied to Phoenix time)
|
|
#
|
|
# All output is on stdout, no trailing prose. Soft, dependency-free (coreutils date only).
|
|
|
|
set -euo pipefail
|
|
|
|
OFFSET=$((7 * 3600)) # Phoenix is UTC-7, fixed
|
|
EPOCH_UTC="$(date -u +%s)"
|
|
EPOCH_PHX=$((EPOCH_UTC - OFFSET))
|
|
|
|
# Portable "format an epoch as if it were UTC" (so the wall-clock we print is Phoenix local).
|
|
fmt_epoch() {
|
|
local e="$1" f="$2"
|
|
if date -u -d "@${e}" "$f" >/dev/null 2>&1; then
|
|
date -u -d "@${e}" "$f" # GNU/Git-Bash
|
|
else
|
|
date -u -r "${e}" "$f" # BSD/macOS
|
|
fi
|
|
}
|
|
|
|
case "${1:-}" in
|
|
--iso) printf '%s-07:00\n' "$(fmt_epoch "$EPOCH_PHX" '+%Y-%m-%dT%H:%M:%S')" ;;
|
|
--date) fmt_epoch "$EPOCH_PHX" '+%Y-%m-%d' ;;
|
|
--datetime) fmt_epoch "$EPOCH_PHX" '+%Y-%m-%d %H:%M:%S' ;;
|
|
--epoch) printf '%s\n' "$EPOCH_UTC" ;;
|
|
--fmt) fmt_epoch "$EPOCH_PHX" "${2:?--fmt needs a strftime arg, e.g. --fmt '+%H:%M'}" ;;
|
|
''|--pt) printf '%s PT\n' "$(fmt_epoch "$EPOCH_PHX" '+%Y-%m-%d %H:%M')" ;;
|
|
-h|--help)
|
|
grep -E '^#( |$)' "$0" | sed 's/^# \{0,1\}//'
|
|
;;
|
|
*)
|
|
echo "[ERROR] now-phoenix: unknown arg '$1' (try --help)" >&2
|
|
exit 64
|
|
;;
|
|
esac
|