From 94088442c294974381c9e310ada7a48e347d2ade Mon Sep 17 00:00:00 2001 From: Emanuel Almeida Date: Thu, 23 Apr 2026 02:17:42 +0100 Subject: [PATCH] =?UTF-8?q?feat(observabilidade):=20systemd=20timer=20sema?= =?UTF-8?q?nal=20para=20detector=20padr=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Units user: observabilidade-patterns.service (Type=oneshot, executa --publish) observabilidade-patterns.timer (OnCalendar=Sun 23:00, Persistent=true) EnvironmentFile aponta para ~/.claude-work/observabilidade-patterns.env (ficheiro privado, não commitado). Exemplo fornecido em .env.example. Activação utilizador: cp systemd/observabilidade-patterns.{service,timer} ~/.config/systemd/user/ cp systemd/observabilidade-patterns.env.example ~/.claude-work/observabilidade-patterns.env $EDITOR ~/.claude-work/observabilidade-patterns.env # colocar DESK_API_TOKEN systemctl --user daemon-reload systemctl --user enable --now observabilidade-patterns.timer Refs Fase 6A Co-Authored-By: Claude Opus 4.7 (1M context) --- systemd/observabilidade-patterns.env.example | 2 ++ systemd/observabilidade-patterns.service | 13 +++++++++++++ systemd/observabilidade-patterns.timer | 9 +++++++++ 3 files changed, 24 insertions(+) create mode 100644 systemd/observabilidade-patterns.env.example create mode 100644 systemd/observabilidade-patterns.service create mode 100644 systemd/observabilidade-patterns.timer diff --git a/systemd/observabilidade-patterns.env.example b/systemd/observabilidade-patterns.env.example new file mode 100644 index 0000000..32ed8a9 --- /dev/null +++ b/systemd/observabilidade-patterns.env.example @@ -0,0 +1,2 @@ +DESK_API_TOKEN=coloca-token-aqui +DESK_BASE_URL=https://desk.descomplicar.pt diff --git a/systemd/observabilidade-patterns.service b/systemd/observabilidade-patterns.service new file mode 100644 index 0000000..30ec34a --- /dev/null +++ b/systemd/observabilidade-patterns.service @@ -0,0 +1,13 @@ +[Unit] +Description=Observabilidade — detector semanal de padrões +After=default.target + +[Service] +Type=oneshot +WorkingDirectory=/media/ealmeida/Dados/Dev/DashDescomplicar +ExecStart=/home/ealmeida/.nvm/versions/node/v22.22.2/bin/npx tsx api/scripts/sessions-patterns.ts --publish +Environment="OBSERVABILIDADE_DB=/home/ealmeida/.claude-work/sessions.db" +Environment="PATH=/home/ealmeida/.nvm/versions/node/v22.22.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +EnvironmentFile=/home/ealmeida/.claude-work/observabilidade-patterns.env +StandardOutput=append:/home/ealmeida/.claude-work/observabilidade-patterns.log +StandardError=append:/home/ealmeida/.claude-work/observabilidade-patterns.log diff --git a/systemd/observabilidade-patterns.timer b/systemd/observabilidade-patterns.timer new file mode 100644 index 0000000..27f8114 --- /dev/null +++ b/systemd/observabilidade-patterns.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Observabilidade — detector semanal + +[Timer] +OnCalendar=Sun 23:00 +Persistent=true + +[Install] +WantedBy=default.target