* fix: wire up tick engine scheduler + add journal + systemd timer The ThinkingEngine was fully implemented but never called — the background scheduler was lost during the Celery removal in #133. This commit: - Add _thinking_scheduler() to dashboard lifespan (5-min cycle) - Add _write_journal() that appends thoughts to data/journal/YYYY-MM-DD.md - Add `timmy tick` CLI command for one-shot thinking (systemd-friendly) - Add deploy/timmy-tick.{service,timer} systemd units https://claude.ai/code/session_013e7upfJ6negFzu5YNJikge * Add macOS launchd plist for Timmy tick timer Equivalent of the existing systemd service/timer for Linux. Runs `timmy tick` every 5 minutes via launchd on macOS. https://claude.ai/code/session_013e7upfJ6negFzu5YNJikge * fix: make macOS launchd timer work with user-local paths The plist had hardcoded /opt/timmy paths that don't exist on Mac. Now uses a template with __PROJECT_DIR__ placeholders, a wrapper script for PATH setup, and an install script that wires it all up. Usage: ./deploy/install-mac-timer.sh https://claude.ai/code/session_013e7upfJ6negFzu5YNJikge * fix: add missing tox pre-commit env + pre-push hook to prevent broken builds RCA: the pre-commit hook referenced `tox -e pre-commit` which didn't exist in tox.ini, so commits went unchecked. There was also no pre-push hook, so broken code could reach GitHub without running the CI-mirror suite. - Add [testenv:pre-commit] to tox.ini (format check + unit tests) - Add .githooks/pre-push that runs `tox -e pre-push` (full CI mirror) https://claude.ai/code/session_013e7upfJ6negFzu5YNJikge --------- Co-authored-by: Claude <noreply@anthropic.com>
19 lines
449 B
Bash
Executable File
19 lines
449 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Pre-push hook: runs the full CI-mirror suite before allowing a push.
|
|
# Prevents broken builds from reaching GitHub.
|
|
#
|
|
# Auto-activated by `make install` via git core.hooksPath.
|
|
|
|
set -e
|
|
|
|
echo "Running pre-push gate (tox -e pre-push — mirrors CI exactly)..."
|
|
tox -e pre-push
|
|
|
|
exit_code=$?
|
|
|
|
if [ "$exit_code" -ne 0 ]; then
|
|
echo ""
|
|
echo "BLOCKED: pre-push gate failed. Fix the issues above before pushing."
|
|
exit 1
|
|
fi
|