LocalAuthority / agents.md
1 contributor
59 lines | 2.517kb

Agent Notes

Madagascar Local Authority is the local authority application for the Madagascar network.

Start with these documents:

Operational rules:

  • Develop in this checkout: /Users/bogdan/Documents/Workspaces/Xdev/Madagascar/LocalAuthority.
  • Canonical git remote is GitPrep: git@192.168.2.102:repositories/bogdan/LocalAuthority.git.
  • Jumper is the runtime/deployment target, not the primary editing location.
  • Development work must be committed locally before testing or archiving; do not leave useful changes as forgotten dirty working-tree state.
  • Push committed code to jumper-runtime for live testing on jumper.
  • Push committed code to origin/GitPrep for archival/canonical history.
  • scripts/deploy_to_jumper.sh is available for explicit rsync deploys, but the normal development loop is commit plus push.
  • Runtime registry and Work Orders live in var/host-manager.sqlite on jumper.
  • Do not deploy config/ unless the user explicitly asks to replace seed/snapshot/export files.
  • Treat config/hosts.yaml, config/local-hosts.tsv, and config/work-orders.yaml as compatibility exports/seeds, not the live source of truth.
  • Do not install npm, pip, or CPAN packages directly on hosts. Distribution packages are acceptable when needed.
  • Perl from the distribution and core/distribution modules are allowed.
  • CPAN modules are allowed only after requesting an audit and RPM packaging for the local audited repository.
  • Secrets live outside git, mainly under /etc/xdev/host-manager.env on jumper.

Before code changes:

git status --short

Before deployment:

perl -c scripts/host_manager.pl
perl -c scripts/mdns_host_seed.pl

Normal live-test deployment after a committed change:

git push jumper-runtime HEAD:main

Archive/canonical push:

git push origin main

After deployment, verify:

ssh jumper.madagascar.xdev.ro 'systemctl is-active host-manager && curl -fsS http://127.0.0.1:8088/healthz >/dev/null'