# Deployment and Operations Development Log

Decizii despre GitPrep, jumper, deploy, runtime paths, dependency policy si disciplina commit/push.

## 2026-06-06 - Repository and Deployment Split

Decizie: codul aplicatiei se dezvolta local si se publica in GitPrep. Jumper ramane runtime/deploy target.

Locatii:

- checkout local: `/Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthority`
- GitPrep canonical remote: `git@192.168.2.102:repositories/bogdan/LocalAuthority.git`
- GitPrep web: `http://192.168.2.102:3000/bogdan/LocalAuthority`
- runtime jumper: `/usr/local/xdev-host-manager`

Motiv:

- editarea directa pe jumper amesteca dezvoltarea cu runtime-ul
- aplicatia are acum scope mai mare si va continua sa evolueze
- avem nevoie de istoric, review si deploy controlat

Regula:

- `scripts/deploy_to_jumper.sh` publica aplicatia pe jumper
- `config/` nu se copiaza implicit
- `config/` se copiaza doar cu `--include-config`, la cerere explicita

## 2026-06-06 - Dependency Policy

Regula: nu se instaleaza npm, pip sau CPAN direct pe hosturi.

Acceptat:

- pachete din distributie, cand sunt necesare
- Perl din distributie
- module Perl core/distribution

CPAN se foloseste doar daca pachetul ajunge prin repo-ul local auditat.

Pachete de sistem instalate in timpul evolutiei:

- `ripgrep` pe jumper
- `rsync` pe jumper
- `sqlite` pe jumper
- `perl-DBD-SQLite` pe jumper
- `sqlite3` pe mazeri/GitPrep

## 2026-06-08 - Commit and Push Is the Development Contract

Observatie: schimbarile lasate mult timp ca dirty working tree se pierd usor in timpul deploy-urilor, reseturilor si schimbarilor de context. Pentru development, unitatea de lucru trebuie sa fie commit-ul local, nu un set de fisiere uitate in stare necomisa.

Decizie:

- se lucreaza cu commit-uri locale mici si coerente
- pentru test live, commit-ul se impinge in checkout-ul runtime de pe jumper cu `git push jumper-runtime HEAD:main`
- pentru arhivare si istoric canonic, acelasi commit se impinge in GitPrep cu `git push origin main`
- jumper ramane target de test live, nu locul principal de editare
- `scripts/deploy_to_jumper.sh` ramane unealta explicita de rsync deploy, dar nu inlocuieste disciplina commit/push
- `BUILD` ramane sursa vizibila pentru ce versiune ruleaza

Scop:

- niciun front de lucru sa nu ramana doar in fisiere dirty locale sau runtime
- testul live pe jumper sa fie legat de un commit identificabil
- GitPrep sa pastreze istoria canonica pentru arhivare si recuperare
- badge-ul de build si meta tag-ul `xdev-build` devin verificarea rapida pentru ce ruleaza
