@delorenj/pjangler 1.2.17 → 1.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/index.js +244 -6
  2. package/dist/mcp-server.js +245 -7
  3. package/package.json +8 -2
  4. package/templates/commonproject/AGENTS.md +3 -3
  5. package/templates/commonproject/README.md +11 -12
  6. package/templates/commonproject/copier.yml +8 -27
  7. package/templates/commonproject/template/.project.json.jinja +9 -13
  8. package/templates/hermes-agent/README.md +9 -9
  9. package/templates/hermes-agent/config.example.toml +1 -66
  10. package/templates/hermes-agent/copier.yml +4 -3
  11. package/templates/hermes-agent/docs/architecture.md +9 -12
  12. package/templates/hermes-agent/docs/fleet-control-plane/README.md +1 -1
  13. package/templates/hermes-agent/docs/operations.md +6 -5
  14. package/templates/hermes-agent/docs/sentinel/README.md +9 -7
  15. package/templates/hermes-agent/docs/sentinel/architecture.md +1 -2
  16. package/templates/hermes-agent/docs/sentinel/development.md +12 -13
  17. package/templates/hermes-agent/docs/sentinel/providers.md +34 -15
  18. package/templates/hermes-agent/install-local.sh +15 -14
  19. package/templates/hermes-agent/runtime-scaffold/README.md +1 -1
  20. package/templates/hermes-agent/runtime-scaffold/bloodbank-consumer.py +46 -14
  21. package/templates/hermes-agent/runtime-scaffold/memories/MEMORY.md +2 -2
  22. package/templates/hermes-agent/scripts/fleet-sync.sh +1 -64
  23. package/templates/hermes-agent/template/.gitignore.jinja +0 -2
  24. package/templates/hermes-agent/template/.runtime-scaffold/README.md +1 -1
  25. package/templates/hermes-agent/template/.runtime-scaffold/bloodbank-consumer.py +43 -9
  26. package/templates/hermes-agent/template/.runtime-scaffold/memories/MEMORY.md +2 -2
  27. package/templates/hermes-agent/template/.scripts/01-config.sh +0 -1
  28. package/templates/hermes-agent/template/.scripts/05-fleet-env.sh +0 -9
  29. package/templates/hermes-agent/template/.scripts/10-hermes-profile.sh +3 -22
  30. package/templates/hermes-agent/template/.scripts/20-runtime-repo.sh +0 -22
  31. package/templates/hermes-agent/template/.scripts/40-plane.sh +51 -0
  32. package/templates/hermes-agent/template/.scripts/42-ticket-provider.sh +59 -21
  33. package/templates/hermes-agent/template/.scripts/60-bloodbank.sh +2 -1
  34. package/templates/hermes-agent/template/.scripts/70-systemd.sh +1 -10
  35. package/templates/hermes-agent/template/.scripts/_lib.sh +3 -61
  36. package/templates/hermes-agent/template/.scripts/config.example.toml +0 -5
  37. package/templates/hermes-agent/template/.scripts/heartbeat.sh +22 -66
  38. package/templates/hermes-agent/template/.scripts/lib/ticket-provider.sh +5 -9
  39. package/templates/hermes-agent/template/.scripts/providers/linear.sh +176 -0
  40. package/templates/hermes-agent/template/.scripts/providers/plane.sh +9 -29
  41. package/templates/hermes-agent/template/.scripts/sentinel/docs/autonomous-delegated-review.md +2 -2
  42. package/templates/hermes-agent/template/.scripts/sentinel/docs/continuous-ticket-orchestration.md +1 -1
  43. package/templates/hermes-agent/template/.scripts/sentinel.prompt.md.jinja +1 -6
  44. package/templates/hermes-agent/template/SOUL.md.jinja +19 -21
  45. package/templates/hermes-agent/template/role.yaml.jinja +35 -4
  46. package/templates/hermes-agent/tests/test_bloodbank_consumer_contract.py +138 -0
  47. package/templates/hermes-agent/docs/bloodbank-gateway.md +0 -57
  48. package/templates/hermes-agent/docs/fleet-control-plane/n8n-service-hub.md +0 -60
@@ -1,60 +0,0 @@
1
- # n8n Service Hub
2
-
3
- n8n should become the visible service hub for fleet operations while systemd
4
- remains the local survival layer.
5
-
6
- ## Shape
7
-
8
- - systemd owns process supervision on each host.
9
- - n8n owns visibility, operator controls, scheduling, and multi-service flows.
10
- - pjangler owns deterministic generation and reconciliation of both sides.
11
-
12
- ## Service Model
13
-
14
- Each installed Hermes agent service is represented as an n8n node/workflow item:
15
-
16
- - gateway service
17
- - Bloodbank gateway or transitional consumer
18
- - heartbeat timer/service
19
- - runtime checkpoint status
20
- - ticket-provider health check
21
-
22
- The node does not replace systemd. It calls stable commands such as:
23
-
24
- ```
25
- systemctl --user status hermes-<agent>-heartbeat.timer
26
- systemctl --user restart hermes-<agent>-gateway.service
27
- pj fleet status --agent <agent_id> --json
28
- pj fleet reconcile --agent <agent_id> --apply
29
- ```
30
-
31
- ## Heartbeat v2
32
-
33
- Checkpoint era means the only recurring task was an hourly runtime
34
- commit/push. It preserved state but did not manage work.
35
-
36
- Heartbeat v2 is a frequent, cheap tick:
37
-
38
- - always performs a gated runtime checkpoint
39
- - optionally performs autonomous board reconciliation when
40
- `.project.json automation.reconcile.enabled` is true
41
- - records status in runtime state files for fleet status readers
42
- - can be triggered by systemd locally or by n8n centrally
43
-
44
- ## First Implementation Pass
45
-
46
- 1. Extend `pj fleet status --json` to include service unit state, last heartbeat,
47
- last checkpoint, and ticket-provider resolution.
48
- 2. Generate an n8n workflow from `~/.hermes/agents-registry.yaml`.
49
- 3. Add n8n actions for status, restart, reconcile dry-run, reconcile apply, and
50
- log tail.
51
- 4. Keep systemd timers installed and enabled as fallback.
52
- 5. Add drift detection when n8n and systemd disagree about an agent.
53
-
54
- ## Open Questions
55
-
56
- - Whether n8n should invoke local commands through SSH, an agent-side webhook,
57
- or a small host-local control API.
58
- - How much service history should live in n8n versus Hermes runtime state.
59
- - Whether Bloodbank gateway events should also drive n8n workflows for visible
60
- operator traces.