68 Commits

Author SHA1 Message Date
4NK
bec0570d91 docs(kogus): list RBAC/catalog/site-config/seed paths; clarify docs vs .secrets 2026-04-16 09:34:04 +02:00
4NK
7610ff437d docs(kogus): centralize secret paths in README; align agents and tracked docs 2026-04-15 17:40:53 +02:00
4NK
69427fc263 docs(kogus): align Deployment.md with LeCoffre nested secrets and SUPERADMIN_IDNOTS 2026-04-15 17:33:59 +02:00
73bea86a4d chore(kogus): point wiki and ticketing URLs to Gitea repo kogus 2026-04-14 11:01:05 +02:00
34b039373e chore(projects): remove ia_dev projects/enso (site under kogus)
- Delete projects/enso/conf.json; Enso is SITE_CODE in kogus monorepo
- Update projects/README and .smartIde rules project examples
2026-04-14 10:48:55 +02:00
99979391c0 chore(projects): rename ia_dev project lecoffreio to kogus
- Move projects/lecoffreio to projects/kogus; update conf id and secrets_path
- Refresh agents, deploy script examples, project README, kogus docs paths
- Keep product hostname/systemd naming (lecoffreio) unchanged
2026-04-14 10:46:59 +02:00
797b11430e docs(agents): lecoffre multisite SITE_CODE, deploy-site, secrets layout
Align ia_dev agents with monorepo: .cursor/agents paths, deploy-site.sh loop, nested .secrets/<site>/<env>/, fix obsolete .smartIde reference for LeCoffre.
2026-04-14 01:06:13 +02:00
6e10b44e7d refactor(deploy): drop default_site_code; pousse builds all front sites
- Remove ia_dev_deploy_export_site_code_from_conf and conf.json key.
- pousse: front-common uses npm run build:all-sites when NEXT_PUBLIC_SITE_CODE unset.
- Keep nested .secrets/<site>/<env> symlinks helper.
- Update lecoffreio Deployment.md.
2026-04-13 23:56:19 +02:00
a2ea98801f feat(deploy): export SITE_CODE from conf; ensure nested secrets symlinks
- deploy-conf-handling: default_site_code -> SITE_* when unset; symlink
  notary|enso|genealogie/<env> to ../<env> when flat <env>/ exists.
- orchestrator and deploy-by-script-to: run before handoff to LeCoffre.
- lecoffreio docs/Deployment.md: document behavior (-f: path was gitignored).
2026-04-13 23:50:55 +02:00
f1e22ac842 chore(projects): add enso conf.json and document symlink removal
Initial state: projects/enso was a broken symlink to ../../projects/enso.

Motivation: register Enso monorepo in ia_dev like lecoffreio for shared deploy orchestrator.

Resolution: add projects/enso/conf.json (repository_root, deploy paths, secrets_path under .secrets/enso); extend projects/README.md with enso note and symlink warning.

Root cause: obsolete symlink outside repo layout.

Impacted: ia_dev project registry only; no runtime code.
2026-04-10 17:11:33 +02:00
45992c6145 fix(pousse): support multisite front builds
Read deploy.default_site_code from project conf and inject NEXT_PUBLIC_SITE_CODE when building front-common.

Also align lecoffreio build_dirs and version paths with back-common/front-common/ressources-common.
2026-04-10 14:35:19 +02:00
8a73fea3c8 docs(agents): align fix-lint with LeCoffre Edge Tools guidance, markdownlint 2026-04-10 05:44:42 +02:00
ae4bc14573 docs(fix-lint): document LeCoffre jsx-a11y lint and check:edge-tools-static 2026-04-10 04:58:46 +02:00
afde172170 chore(notary-ai): default wait heartbeat 20s (was 60) 2026-04-10 04:16:19 +02:00
45e51680a5 chore(notary-ai): clarify infinite wait then 10h foreground loop
Heartbeat during wait; optional skip daemon SIGTERM; detect loop-daemon and cycles.
2026-04-10 00:10:31 +02:00
b5e1749b74 feat(ai_working_help): expose folder_uid and user_id on GET /v1/response
Allows LeCoffre backend to validate polls after process restart.
2026-04-10 00:07:23 +02:00
7eec9d15ee feat(notary-ai): process pending notary AI questions for folder 00000056fdf
**Etat initial:** 2 pending notary-ai questions in spooler for lecoffreio/test, folder 00000056fdf (Promesse de vente)

**Motivation du changement:** Produce AI notary responses for queued questions from notaire user f42899a7

**Résolution:** Processed 2 pending requests via notary-ai-process agent; wrote responded files via write-response-notary-ai.sh

**Root cause:** Questions enqueued by LeCoffre application awaiting agent processing

**Fonctionnalités impactées:** Notary AI chat (folder 00000056fdf), ai_working_help spooler

**Code modifié:** none

**Documentation modifiée:** none (API.md already documents notary-ai section)

**Configurations modifiées:** none

**Fichiers dans deploy modifiés:** none

**Fichiers dans logs impactés:** none

**Bases de données et autres sources modifiées:** none

**Modifications hors projet:** none

**fichiers dans .cursor/ modifiés:** none

**fichiers dans .secrets/ modifiés:** none

**nouvelle sous sous version dans VERSION:** N/A (no VERSION file in ia_dev)

**CHANGELOG.md mise à jour:** non (no CHANGELOG.md in ia_dev)

Made-with: Cursor
2026-04-09 22:53:29 +02:00
cc3f97931d docs(agents): fix-lint — Edge Tools diagnostics (webhint, axe, compat-api CSS) 2026-04-09 22:49:57 +02:00
b4ce81858c docs: track GIT_ISSUES_SCRIPTS_AGENTS.md under projects/ia_dev/docs 2026-04-03 19:05:55 +02:00
e86a9fbb6e refactor: rename gitea-issues to git-issues and symlink projects to monorepo
- Rename directory and scripts env GIT_ISSUES_DIR; secrets path .secrets/git-issues
- Rename agent git-issues-process; update docs GIT_ISSUES_SCRIPTS_AGENTS.md
- Symlink projects/enso, smart_ide, builazoo to ../../projects/<id> when used inside smart_ide
- Update project conf paths for git-issues tokens and imap bridge
2026-04-03 19:05:28 +02:00
285e72039e chore: rename .cursor to .smartIde for agents, rules, hooks
Update internal references and .gitignore ssh_config path.
Gateway and docs paths use .smartIde/agents.
2026-04-03 18:23:10 +02:00
11da4329e4 docs: point conf schema and README stubs to smart_ide docs/repo
Replace embedded README bodies with links to central ia-dev-* docs.
Update agent references from projects/README to docs/repo path.
2026-04-03 18:20:13 +02:00
047700fab0 Align enso remote paths with enso-deploy conventions
Match ENSO_REMOTE_ROOT, ENSO_SSH_HOST-style aliases, and default
data/dossiers-permanents path from enso deploy examples.
2026-04-03 18:07:00 +02:00
a7b5998f61 feat: resolve project conf paths relative to smart_ide monorepo root
- Add lib/conf_path_resolve.sh (canonical conf under projects/ or ia_dev/projects/)
- Apply resolution in project_git_root_from_conf, deploy-conf-handling, orchestrator
- pousse: monorepo-relative build_dirs when path starts with ../
- deploy-by-script-to: resolve secrets_path and deploy_script_path
- Sync smart_ide/enso conf.json with relative paths; document in projects/README
2026-04-03 18:03:55 +02:00
756bab0cd8 feat: append script lifecycle events to smart_ide logs/ia_dev.log when embedded 2026-04-03 17:50:35 +02:00
e8c0db2200 Add smart_ide project configuration (4nk/smart_ide) 2026-04-03 16:07:35 +02:00
43684a4fa8 feat(deploy-log): optional deploy_env in log path and header (sync LeCoffre) 2026-03-27 19:41:17 +01:00
c501295642 feat(deploy): host_stays_on_test in conf.json (replaces lecoffreio id branch)
- deploy-by-script-to.sh reads deploy.host_stays_on_test via jq
- projects/lecoffreio/conf.json: host_stays_on_test true (permanent)
- projects/README.md + agents: document flag
2026-03-27 18:46:41 +01:00
5624f24193 fix(deploy): lecoffreio deploy-by-script-to stays on test; align agents with LeCoffre deploy.sh
- deploy-by-script-to.sh: skip checkout/reset/pprod|prod for project lecoffreio
- deploy-by-script.md: env from script arg; host test for lecoffreio
- deploy-pprod-or-prod.md: document lecoffreio vs other projects step 3
2026-03-27 18:44:11 +01:00
f6c1ce0399 docs(agents): lint on every build_dir, not only session-touched subtree
- cloture-lint.mdc: all build_dirs scope
- Lint rationalisation bullet + deploy-by-script §4, change-to-all-branches step 8, fix-lint
2026-03-25 13:43:15 +01:00
de4afdde5a docs(agents): align change-to-all-branches and deploy-by-script with test-first pprod/prod replay 2026-03-25 12:51:14 +01:00
b99f90ce25 docs(agents): require test-first fixes then replay workflow for deploy-pprod-or-prod 2026-03-25 12:48:51 +01:00
f58acfbd62 chore(cursor): lint closure — fix diagnostics even when not from session
Extend agent lint bullets and fix-lint table; deploy-by-script and
change-to-all-branches reference cloture-lint diagnostics section.
2026-03-25 05:58:35 +01:00
1753029b58 docs(agents): enforce min-5 lint before closure; sync cloture-lint
- Rationalisation lint bullet: always run + fix min(5,N); forbid deferring to /fix-lint alone
- deploy-pprod-or-prod: step 6 lint + fin checklist; change-to-all-branches checklist item 8
- deploy-by-script: section 4 lint min. 5; cloture-lint.mdc obligation block
2026-03-25 05:49:25 +01:00
16302e5814 deploy added 2026-03-25 04:22:02 +01:00
fea263b87a docs(cursor): lint if not run during agent; min 5 fixes out of scope
**Motivations:**
- Align ia_dev agents with lecoffre_ng_test: if no lint was executed during the run, run it on project build_dirs and fix at least five issues (errors + warnings), including outside task scope.

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- cloture-lint.mdc: minimum-corrections block expanded; new section when no lint was run (repository_root / build_dirs via conf.json)
- All .cursor/agents/*.md: Rationalisation Lint bullet

**Pages affectées:**
- .cursor/rules/cloture-lint.mdc
- .cursor/agents/*.md
2026-03-24 22:56:05 +01:00
998af05416 docs(lecoffreio): sync Code-Standards and fixKnowledge from app docs
Etat initial
- master with local updates in projects/lecoffreio/docs after rsync from lecoffre_ng_test/docs.

Motivation du changement
- Keep ia_dev project mirror aligned with application documentation sources.

Resolution
- Commit and push projects/lecoffreio/docs updates on master.

Root cause
- N/A (documentation sync).

Fonctionnalités impactées
- None (docs only).

Code modifié
- None.

Documentation modifiée
- projects/lecoffreio/docs/Code-Standards.md; projects/lecoffreio/docs/fixKnowledge/import-v1-ssh-run-quoting-env-full.md.

Configurations modifiées
- None.

Fichiers dans déploy modifiés
- None.

Fichiers dans logs impactés
- None.

Bases de données et autres sources modifiées
- None.

Modifications hors projet
- None.

fichiers dans .cursor/ modifiés
- None.

fichiers dans .secrets/ modifiés
- None.

nouvelle sous sous version dans VERSION
- N/A (ia_dev repo has no VERSION bump in this commit).

CHANGELOG.md mise à jour (oui/non)
- non
2026-03-24 16:07:14 +01:00
aa5748bcce docs(lecoffreio): add fixKnowledge import-v1 ssh_run quoting (force-add)
**Etat initial**
- Fiche sous projects/lecoffreio/docs/ ignorée par .gitignore ; commit précédent n’incluait que le commentaire change-to-all-branches.sh.

**Motivation du changement**
- Versionner la fiche fixKnowledge pour traçabilité.

**Resolution**
- git add -f projects/lecoffreio/docs/fixKnowledge/import-v1-ssh-run-quoting-env-full.md

**Root cause**
- Pattern **/docs/** dans .gitignore ia_dev.

**Fonctionnalités impactées**
- Aucune.

**Code modifié**
- Aucun.

**Documentation modifiée**
- projects/lecoffreio/docs/fixKnowledge/import-v1-ssh-run-quoting-env-full.md

**Configurations modifiées**
- Aucune.

**Fichiers dans déploy modifiés**
- Aucun.

**Fichiers dans logs impactés**
- Aucun.

**Bases de données et autres sources modifiées**
- Aucune.

**Modifications hors projet**
- Aucune.

**fichiers dans .cursor/ modifiés**
- Aucun.

**fichiers dans .secrets/ modifiés**
- Aucun.

**nouvelle sous sous version dans VERSION**
- N/A

**CHANGELOG.md mise à jour (oui/non)**
- non
2026-03-23 16:17:19 +01:00
26d4edadde docs(lecoffreio): fixKnowledge import-v1 ssh_run quoting
**Etat initial**
- Fiche fix non versionnée dans le dépôt app (docs/ ignoré par .gitignore).

**Motivation du changement**
- Tracer la correction import-v1 env-full dans projects/lecoffreio/docs/fixKnowledge.

**Resolution**
- Ajout de import-v1-ssh-run-quoting-env-full.md.

**Root cause**
- Alignement doc traçabilité avec correctif déployé (lecoffre_ng_test).

**Fonctionnalités impactées**
- Aucune (documentation).

**Code modifié**
- Aucun.

**Documentation modifiée**
- projects/lecoffreio/docs/fixKnowledge/import-v1-ssh-run-quoting-env-full.md

**Configurations modifiées**
- Aucune.

**Fichiers dans déploy modifiés**
- Aucun.

**Fichiers dans logs impactés**
- Aucun.

**Bases de données et autres sources modifiées**
- Aucune.

**Modifications hors projet**
- Aucune.

**fichiers dans .cursor/ modifiés**
- Aucun.

**fichiers dans .secrets/ modifiés**
- Aucun.

**nouvelle sous sous version dans VERSION**
- N/A (pas de VERSION sur ia_dev).

**CHANGELOG.md mise à jour (oui/non)**
- non
2026-03-23 16:16:51 +01:00
4d4264fc41 docs(agents+deploy): setup-host agent, deploy flags doc sync
Etat initial
- Agents and project docs still referenced --skipSetupHost, --import-v1 on CLI, and optional log flags.

Motivation du changement
- Align ia_dev agents and mirrored docs with LeCoffre deploy.sh (setup via run-setup-host.sh, business flags in deploy.conf only, logs always on).

Resolution
- Add .cursor/agents/setup-host.md; update change-to-all-branches, deploy-by-script, deploy-pprod-or-prod; refresh agents-scripts-split and WORKFLOWS for lecoffreio and ia_dev projects.

Root cause
- Documentation drift after deploy CLI and pipeline changes.

Fonctionnalités impactées
- Cursor agent instructions only (no runtime code path change in this commit beyond files listed).

Code modifié
- .cursor/agents/*.md, deploy/*.sh, deploy/lib/*.sh, projects/*/docs/*.md as staged.

Documentation modifiée
- projects/lecoffreio/docs/agents-scripts-split.md, WORKFLOWS_AND_COMPONENTS.md; projects/ia_dev/docs/* (same).

Configurations modifiées
- none.

Fichiers dans déploy modifiés
- deploy/change-to-all-branches.sh, deploy-by-script-to.sh, deploy.sh, lib/README.md, deploy-conf-handling.sh, deploy-methodology.sh, orchestrator.sh (pre-existing session changes + doc alignment).

Fichiers dans logs impactés
- none.

Bases de données et autres sources modifiées
- none.

Modifications hors projet
- none.

fichiers dans .cursor/ modifiés
- .cursor/agents/setup-host.md (new), change-to-all-branches.md, deploy-by-script.md, deploy-pprod-or-prod.md.

fichiers dans .secrets/ modifiés
- none.

nouvelle sous sous version dans VERSION
- N/A (ia_dev repo has no VERSION file).

CHANGELOG.md mise à jour (oui/non)
- non
2026-03-23 14:02:58 +01:00
d80b240853 refactor(deploy): hoist shared conf handling to deploy/lib
**Motivations:**
- Apply approved boundary: identical steps in ia_dev libs; project orchestrator keeps only specific sequencing

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add deploy/lib/deploy-conf-handling.sh (jq, secrets_path export, IA_DEV_DEPLOY_* context)
- Document boundary in deploy-methodology.sh; orchestrator sources new lib
- deploy/lib/README.md: boundary + deploy-conf-handling

**Pages affectées:**
- deploy/lib/*.sh, deploy/orchestrator.sh, deploy/lib/README.md
2026-03-23 13:23:23 +01:00
f1c53477b0 feat(deploy): methodology lib and project_orchestrator_path
**Motivations:**
- Keep shared methodology, envs, and future quality sequences in ia_dev; single project orchestrator script per repo

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add deploy/lib/deploy-methodology.sh (test|pprod|prod validation)
- deploy.sh sources methodology before orchestrator
- orchestrator prefers deploy.project_orchestrator_path then legacy phases/deploy_script_path
- conf.json: project_orchestrator_path for lecoffreio, algo, enso; remove hooks where redundant
- Document in README.md, projects/README.md, deploy/lib/README.md

**Pages affectées:**
- deploy/*, projects/*/conf.json, README files
2026-03-23 13:19:03 +01:00
293b5ec9ba docs(cursor): align fix-lint with strict lint closure rules
**Motivations:**
- Same lint closure expectations when running fix-lint from ia_dev (warnings as errors, min five fixes, no spurious non-applicable)

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add .cursor/rules/cloture-lint.mdc; tighten fix-lint agent table and intro

**Pages affectées:**
- .cursor/rules/cloture-lint.mdc, .cursor/agents/fix-lint.md
2026-03-23 13:11:09 +01:00
dd9f5e6188 docs(lecoffreio): sync project docs from LeCoffre repository
**Motivations:**
- Keep projects/lecoffreio/docs aligned with lecoffre_ng_test docs for push-by-script prerequisites

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Sync Code-Standards.md and related copies from project docs/

**Pages affectées:**
- projects/lecoffreio/docs/
2026-03-23 13:07:07 +01:00
0a9d6e001b feat(deploy): generic orchestrator and deploy.sh entry
**Motivations:**
- Single generic orchestration in ia_dev while business logic stays in each project repo

**Root causes:**
- N/A (evolution)

**Correctifs:**
- N/A

**Evolutions:**
- Add orchestrator.sh (deploy.hooks.phases or fallback deploy.deploy_script_path)
- Add deploy.sh <project_id> <env> [options] as canonical entry from ia_dev root
- run-project-hooks.sh execs orchestrator.sh for backward compatibility
- change-to-all-branches.sh and deploy-by-script-to.sh invoke orchestrator.sh when IA_PROJECT_ID is set
- Document orchestration in README.md and deploy/lib/README.md

**Pages affectées:**
- README.md, deploy/orchestrator.sh, deploy/deploy.sh, deploy/run-project-hooks.sh, deploy/change-to-all-branches.sh, deploy/deploy-by-script-to.sh, deploy/lib/README.md
2026-03-23 13:04:18 +01:00
418bfb044a evol(deploy): shared ssh/log libs, SECRETS_BASE export, lecoffreio secrets path
**Motivations:**
- Single source for ssh helpers; export secrets base from conf; centralize lecoffre secrets under ia_dev.

**Evolutions:**
- deploy/lib/ssh.sh, deploy-log.sh; run-project-hooks + deploy-by-script-to export SECRETS_BASE from secrets_path; lecoffreio conf secrets_path ia_dev; deploy/lib README.

**Pages affectées:**
- deploy/lib/*, deploy/run-project-hooks.sh, deploy/deploy-by-script-to.sh, projects/lecoffreio/conf.json
2026-03-23 12:50:31 +01:00
aa3249ee0c evol(deploy): run-project-hooks, algo/enso repository_root, wire change-to-all-branches
**Motivations:**
- Execute deploy.hooks.phases from conf.json with fallback to deploy_script_path; align algo/enso with repository_root and empty phases.

**Root causes:**
- Deploy entry was hardcoded to deploy.sh; hooks array unused.

**Correctifs:**
- None.

**Evolutions:**
- deploy/run-project-hooks.sh; change-to-all-branches.sh and deploy-by-script-to.sh call it when IA_PROJECT_ID is set; lecoffreio phases list deploy/scripts_v2/deploy.sh; algo/enso repository_root + hooks.phases []; deploy/lib/README.md placeholder for future generic extract.

**Pages affectées:**
- deploy/run-project-hooks.sh, deploy/change-to-all-branches.sh, deploy/deploy-by-script-to.sh, deploy/lib/README.md, projects/lecoffreio/conf.json, projects/algo/conf.json, projects/enso/conf.json
2026-03-23 12:41:47 +01:00
db5a184851 feat(deploy): resolve project git root from conf.repository_root
**Motivations:**
- secrets_path dirname is not a stable git root when secrets move to ia_dev

**Correctifs:**
- lib/project_git_root_from_conf.sh: repository_root || git_work_tree || dirname(secrets_path)

**Evolutions:**
- lecoffreio conf.json: deploy.repository_root, deploy.hooks.phases scaffold
- pousse, branch-align, change-to-all-branches, deploy-by-script-to use resolver

**Pages affectées:**
- lib/project_git_root_from_conf.sh, deploy/*.sh, projects/lecoffreio/conf.json
2026-03-23 12:27:07 +01:00
4a0b031b89 Add LPLDF HTTPS watchdog systemd units for 4NK proxy
**Motivations:**
- Alert when the LPLDF storefront HTTPS endpoint is down from the proxy

**Root causes:**
- N/A (monitoring gap)

**Correctifs:**
- N/A

**Evolutions:**
- watch-https-lpldf.sh: curl check, state file, syslog tag lpldf-https-watch, optional webhook/email via env file
- systemd oneshot + 5-minute timer; install script via SSH/scp

**Pages affectées:**
- tools/proxy-https-watch-lpldf.sh
- tools/proxy-https-watch-lpldf.env.example
- deploy/proxy-units/lpldf-https-watch.service
- deploy/proxy-units/lpldf-https-watch.timer
- deploy/scripts/install-lpldf-https-watch-on-proxy.sh
- deploy/README-lpldf-https-watch.md
2026-03-22 23:35:43 +01:00
0198ff7813 tolling first 2026-03-20 08:10:41 +01:00