@zerwiz/ymir 0.1.4 → 0.1.5

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 (850) hide show
  1. package/.agents/README.md +291 -0
  2. package/.agents/agents/bragi-marketer.md +111 -0
  3. package/.agents/agents/brokk.md +352 -0
  4. package/.agents/agents/forseti-reviewer.md +93 -0
  5. package/.agents/agents/frigg-consent.md +77 -0
  6. package/.agents/agents/groa-update.md +77 -0
  7. package/.agents/agents/hnoss-designer.md +69 -0
  8. package/.agents/agents/huginn-researcher.md +99 -0
  9. package/.agents/agents/jord-projects.md +78 -0
  10. package/.agents/agents/kvasir-scout.md +91 -0
  11. package/.agents/agents/mimir-planner.md +92 -0
  12. package/.agents/agents/muninn-stow.md +77 -0
  13. package/.agents/agents/saga-bearings.md +78 -0
  14. package/.agents/agents/sindri-developer.md +114 -0
  15. package/.agents/agents/snotra-documenter.md +105 -0
  16. package/.agents/agents/syn-recovery.md +78 -0
  17. package/.agents/agents/tyr-check.md +78 -0
  18. package/.agents/agents/urdh-hold.md +77 -0
  19. package/.agents/agents/volundr-smith.md +80 -0
  20. package/.agents/agents/vor-diagnostics.md +77 -0
  21. package/.agents/assets/agents/naming.md +50 -0
  22. package/.agents/assets/agents/registry.md +93 -0
  23. package/.agents/assets/agents/runtime.md +36 -0
  24. package/.agents/assets/agents/toon-tasks-cli.md +42 -0
  25. package/.agents/assets/templates/company_entity.template.md +37 -0
  26. package/.agents/backend/backends/cmux.sh +649 -0
  27. package/.agents/backend/backends/herdr-eventwait.py +157 -0
  28. package/.agents/backend/backends/herdr-workspace-move.py +114 -0
  29. package/.agents/backend/backends/herdr.sh +3386 -0
  30. package/.agents/backend/backends/orca.sh +290 -0
  31. package/.agents/backend/backends/tmux.sh +357 -0
  32. package/.agents/backend/backends/zellij.sh +700 -0
  33. package/.agents/backend/fm-afk-launch.sh +654 -0
  34. package/.agents/backend/fm-afk-return.sh +241 -0
  35. package/.agents/backend/fm-afk-start.sh +172 -0
  36. package/.agents/backend/fm-arm-command-policy.mjs +960 -0
  37. package/.agents/backend/fm-arm-pretool-check.sh +200 -0
  38. package/.agents/backend/fm-backend-hometag-lib.sh +52 -0
  39. package/.agents/backend/fm-backend.sh +981 -0
  40. package/.agents/backend/fm-backlog-handoff.sh +909 -0
  41. package/.agents/backend/fm-backlog-receive.sh +187 -0
  42. package/.agents/backend/fm-backlog-transition-lib.sh +779 -0
  43. package/.agents/backend/fm-bearings-board.sh +204 -0
  44. package/.agents/backend/fm-bearings-snapshot.sh +546 -0
  45. package/.agents/backend/fm-bootstrap.sh +1568 -0
  46. package/.agents/backend/fm-branch-outcome.sh +203 -0
  47. package/.agents/backend/fm-branch-prompt.sh +101 -0
  48. package/.agents/backend/fm-brief.sh +452 -0
  49. package/.agents/backend/fm-busy-event.sh +234 -0
  50. package/.agents/backend/fm-busy-lib.sh +986 -0
  51. package/.agents/backend/fm-captain-hold.sh +1001 -0
  52. package/.agents/backend/fm-cd-command-policy.mjs +153 -0
  53. package/.agents/backend/fm-cd-pretool-check.sh +190 -0
  54. package/.agents/backend/fm-check-lib.sh +74 -0
  55. package/.agents/backend/fm-check-register.sh +42 -0
  56. package/.agents/backend/fm-check-unregister.sh +52 -0
  57. package/.agents/backend/fm-classify-lib.sh +1770 -0
  58. package/.agents/backend/fm-claude-stop-autoarm.sh +334 -0
  59. package/.agents/backend/fm-composer-lib.sh +1416 -0
  60. package/.agents/backend/fm-config-inherit-lib.sh +1202 -0
  61. package/.agents/backend/fm-config-push.sh +254 -0
  62. package/.agents/backend/fm-control-lib.sh +251 -0
  63. package/.agents/backend/fm-control.sh +878 -0
  64. package/.agents/backend/fm-crew-state.sh +625 -0
  65. package/.agents/backend/fm-cursor-lib.sh +243 -0
  66. package/.agents/backend/fm-decision-hold.sh +232 -0
  67. package/.agents/backend/fm-doc-audience-check.sh +269 -0
  68. package/.agents/backend/fm-dod-lib.sh +67 -0
  69. package/.agents/backend/fm-ensure-agents-md.sh +253 -0
  70. package/.agents/backend/fm-extension-launch-barrier.mjs +129 -0
  71. package/.agents/backend/fm-extension.mjs +2577 -0
  72. package/.agents/backend/fm-extension.sh +16 -0
  73. package/.agents/backend/fm-ff-lib.sh +420 -0
  74. package/.agents/backend/fm-fleet-snapshot.sh +1463 -0
  75. package/.agents/backend/fm-fleet-sync.sh +458 -0
  76. package/.agents/backend/fm-fleet-view.sh +96 -0
  77. package/.agents/backend/fm-gate-refuse-lib.sh +102 -0
  78. package/.agents/backend/fm-guard.sh +242 -0
  79. package/.agents/backend/fm-harness.sh +195 -0
  80. package/.agents/backend/fm-herdr-ci-cleanup.sh +115 -0
  81. package/.agents/backend/fm-herdr-lab.sh +346 -0
  82. package/.agents/backend/fm-herdr-session-cleanup.sh +337 -0
  83. package/.agents/backend/fm-home-seed.sh +984 -0
  84. package/.agents/backend/fm-home-summary-refresh.sh +255 -0
  85. package/.agents/backend/fm-hook-host-lib.sh +36 -0
  86. package/.agents/backend/fm-inactive-reconcile.sh +531 -0
  87. package/.agents/backend/fm-inbox.sh +399 -0
  88. package/.agents/backend/fm-install-actionlint.sh +84 -0
  89. package/.agents/backend/fm-install-herdr.sh +96 -0
  90. package/.agents/backend/fm-install-shellcheck.sh +84 -0
  91. package/.agents/backend/fm-install-treehouse.sh +95 -0
  92. package/.agents/backend/fm-kimi-turnend-hook.sh +276 -0
  93. package/.agents/backend/fm-lease-lib.sh +218 -0
  94. package/.agents/backend/fm-lease.sh +189 -0
  95. package/.agents/backend/fm-line-cap-lib.sh +51 -0
  96. package/.agents/backend/fm-lint-workflows.sh +137 -0
  97. package/.agents/backend/fm-lint.sh +591 -0
  98. package/.agents/backend/fm-lock-lib.sh +104 -0
  99. package/.agents/backend/fm-lock.sh +107 -0
  100. package/.agents/backend/fm-marker-lib.sh +12 -0
  101. package/.agents/backend/fm-merge-local.sh +74 -0
  102. package/.agents/backend/fm-merge-outcome-lib.sh +138 -0
  103. package/.agents/backend/fm-nm-run-lib.sh +124 -0
  104. package/.agents/backend/fm-on.sh +125 -0
  105. package/.agents/backend/fm-operational-input.sh +253 -0
  106. package/.agents/backend/fm-peek.sh +46 -0
  107. package/.agents/backend/fm-pending-reply-lib.sh +1409 -0
  108. package/.agents/backend/fm-pr-check.sh +135 -0
  109. package/.agents/backend/fm-pr-lib.sh +1016 -0
  110. package/.agents/backend/fm-pr-merge.sh +707 -0
  111. package/.agents/backend/fm-pr-poll.sh +110 -0
  112. package/.agents/backend/fm-primary-scope-lib.sh +33 -0
  113. package/.agents/backend/fm-procevent-extension-capture.pl +259 -0
  114. package/.agents/backend/fm-procevent-lavish.sh +628 -0
  115. package/.agents/backend/fm-procevent-lib.sh +892 -0
  116. package/.agents/backend/fm-procevent-quota.sh +290 -0
  117. package/.agents/backend/fm-procevent-remote-reply.sh +577 -0
  118. package/.agents/backend/fm-procevent-when.sh +504 -0
  119. package/.agents/backend/fm-procevent.sh +1466 -0
  120. package/.agents/backend/fm-project-mode.sh +92 -0
  121. package/.agents/backend/fm-project-origin-lib.sh +180 -0
  122. package/.agents/backend/fm-promote.sh +282 -0
  123. package/.agents/backend/fm-public-followup-emit.sh +260 -0
  124. package/.agents/backend/fm-public-followup-lib.sh +398 -0
  125. package/.agents/backend/fm-public-followup.sh +1330 -0
  126. package/.agents/backend/fm-push-transition-lib.sh +168 -0
  127. package/.agents/backend/fm-quota-axi-lib.sh +93 -0
  128. package/.agents/backend/fm-quota-choose.sh +384 -0
  129. package/.agents/backend/fm-remote-delta-read.sh +189 -0
  130. package/.agents/backend/fm-remote-doctor.sh +800 -0
  131. package/.agents/backend/fm-remote-entrypoint.sh +193 -0
  132. package/.agents/backend/fm-remote-file.sh +234 -0
  133. package/.agents/backend/fm-remote-home-provision.sh +259 -0
  134. package/.agents/backend/fm-remote-home-seed.sh +259 -0
  135. package/.agents/backend/fm-remote-inherit-push.sh +90 -0
  136. package/.agents/backend/fm-remote-inherit.sh +179 -0
  137. package/.agents/backend/fm-remote-job-lib.sh +1241 -0
  138. package/.agents/backend/fm-remote-job-reap-orphans.sh +137 -0
  139. package/.agents/backend/fm-remote-job-worker.sh +1124 -0
  140. package/.agents/backend/fm-remote-readiness-lib.sh +44 -0
  141. package/.agents/backend/fm-remote-secondmate-control.sh +340 -0
  142. package/.agents/backend/fm-review-diff.sh +158 -0
  143. package/.agents/backend/fm-secondmate-charter-lib.sh +44 -0
  144. package/.agents/backend/fm-secondmate-nudge-lib.sh +68 -0
  145. package/.agents/backend/fm-secondmate-parent-lib.sh +70 -0
  146. package/.agents/backend/fm-secondmate-reconcile.sh +371 -0
  147. package/.agents/backend/fm-secondmate-registry-lib.sh +311 -0
  148. package/.agents/backend/fm-secondmate-report.sh +88 -0
  149. package/.agents/backend/fm-send.sh +1059 -0
  150. package/.agents/backend/fm-session-lock-lib.sh +176 -0
  151. package/.agents/backend/fm-session-start.sh +970 -0
  152. package/.agents/backend/fm-sessionstart-cursor.sh +40 -0
  153. package/.agents/backend/fm-sessionstart-nudge.sh +45 -0
  154. package/.agents/backend/fm-sessionstart-run.sh +145 -0
  155. package/.agents/backend/fm-spawn.sh +3153 -0
  156. package/.agents/backend/fm-startup-memory-budget-lib.sh +224 -0
  157. package/.agents/backend/fm-startup-memory-budget.sh +94 -0
  158. package/.agents/backend/fm-startup-network.sh +642 -0
  159. package/.agents/backend/fm-stow-cascade.sh +251 -0
  160. package/.agents/backend/fm-subagent-pretool-check.sh +207 -0
  161. package/.agents/backend/fm-supervise-daemon.sh +1732 -0
  162. package/.agents/backend/fm-supervision-instructions.sh +215 -0
  163. package/.agents/backend/fm-supervision-lib.sh +90 -0
  164. package/.agents/backend/fm-supervisor-target-lib.sh +78 -0
  165. package/.agents/backend/fm-tangle-lib.sh +53 -0
  166. package/.agents/backend/fm-task-inbox-lib.sh +402 -0
  167. package/.agents/backend/fm-tasks-axi-lib.sh +123 -0
  168. package/.agents/backend/fm-teardown.sh +2922 -0
  169. package/.agents/backend/fm-test-isolation-proof.sh +588 -0
  170. package/.agents/backend/fm-test-run.sh +2191 -0
  171. package/.agents/backend/fm-timeout-lib.sh +141 -0
  172. package/.agents/backend/fm-timing-lib.sh +179 -0
  173. package/.agents/backend/fm-tmux-lib.sh +291 -0
  174. package/.agents/backend/fm-tool-update-check.sh +898 -0
  175. package/.agents/backend/fm-trace-context-lib.sh +227 -0
  176. package/.agents/backend/fm-transition-lib.sh +103 -0
  177. package/.agents/backend/fm-turnend-guard-cursor.sh +391 -0
  178. package/.agents/backend/fm-turnend-guard-grok.sh +90 -0
  179. package/.agents/backend/fm-turnend-guard.sh +432 -0
  180. package/.agents/backend/fm-update.sh +110 -0
  181. package/.agents/backend/fm-vendor-auth-probe.sh +190 -0
  182. package/.agents/backend/fm-voice-client.py +1373 -0
  183. package/.agents/backend/fm-voice-relay.py +1256 -0
  184. package/.agents/backend/fm-wake-drain.sh +592 -0
  185. package/.agents/backend/fm-wake-grant.sh +127 -0
  186. package/.agents/backend/fm-wake-lib.sh +1849 -0
  187. package/.agents/backend/fm-watch-arm.sh +602 -0
  188. package/.agents/backend/fm-watch-checkpoint.sh +109 -0
  189. package/.agents/backend/fm-watch.sh +1962 -0
  190. package/.agents/backend/fm-x-dismiss.sh +116 -0
  191. package/.agents/backend/fm-x-followup.sh +286 -0
  192. package/.agents/backend/fm-x-lib.sh +1000 -0
  193. package/.agents/backend/fm-x-link.sh +234 -0
  194. package/.agents/backend/fm-x-poll.sh +185 -0
  195. package/.agents/backend/fm-x-reply.sh +385 -0
  196. package/.agents/backend/fm_voice_frame.py +166 -0
  197. package/.agents/backend/fm_voice_records.py +574 -0
  198. package/.agents/backend/model-bridge.py +290 -0
  199. package/.agents/backend/opencode-go-bridge.py +30 -0
  200. package/.agents/bus/README.md +12 -0
  201. package/.agents/bus/messages.json +1 -0
  202. package/.agents/config/agents.machine.example.yaml +16 -0
  203. package/.agents/config/agents.yaml +50 -0
  204. package/.agents/config/agents.yaml.example +72 -0
  205. package/.agents/config/crew-dispatch.json +22 -0
  206. package/.agents/config/cron.yaml +9 -0
  207. package/.agents/config/eindri-dispatch.json +67 -0
  208. package/.agents/config/eindri-harness +1 -0
  209. package/.agents/config/startup-memory-budget +1 -0
  210. package/.agents/config/tailscale-sync.yaml +27 -0
  211. package/.agents/filebrowser/.filebrowser.json +6 -0
  212. package/.agents/filebrowser/README.md +11 -0
  213. package/.agents/gateway/README.md +12 -0
  214. package/.agents/github/README.md +15 -0
  215. package/.agents/github/webhooks/.gitkeep +0 -0
  216. package/.agents/github/workflows/.gitkeep +0 -0
  217. package/.agents/harness/opencode/plugins/lib/rodd-operational-input.js +37 -0
  218. package/.agents/harness/opencode/plugins/package.json +4 -0
  219. package/.agents/harness/opencode/plugins/saga-sessionstart.js +77 -0
  220. package/.agents/harness/opencode/plugins/syn-cd-check.js +61 -0
  221. package/.agents/harness/opencode/plugins/syn-pretool-check.js +68 -0
  222. package/.agents/harness/opencode/plugins/syn-turnend-guard.js +105 -0
  223. package/.agents/harness/opencode/plugins/syn-watch-arm.js +521 -0
  224. package/.agents/memory/README.md +46 -0
  225. package/.agents/memory/kaia.engram +0 -0
  226. package/.agents/memory/kaia.engram-shm +0 -0
  227. package/.agents/memory/kaia.engram-wal +0 -0
  228. package/.agents/memory/runes_audit.md +5 -0
  229. package/.agents/memory/well/episodes.jsonl +367 -0
  230. package/.agents/memory/well/workspace.jsonl +27 -0
  231. package/.agents/migrations/0001-hodd-layout.sh +38 -0
  232. package/.agents/migrations/0002-a2a-mcp.sh +27 -0
  233. package/.agents/migrations/0003-private-data-separation.sh +111 -0
  234. package/.agents/migrations/0004-hoard-and-realms.sh +104 -0
  235. package/.agents/sandbox/Dockerfile.utgard +19 -0
  236. package/.agents/sandbox/README.md +14 -0
  237. package/.agents/sandbox/utgard.config.json +14 -0
  238. package/.agents/skills/README.md +59 -0
  239. package/.agents/skills/bragi-marketing/README.md +3 -0
  240. package/.agents/skills/bragi-marketing/SKILL.md +82 -0
  241. package/.agents/skills/eindri-homes/README.md +3 -0
  242. package/.agents/skills/eindri-homes/SKILL.md +291 -0
  243. package/.agents/skills/eindri-homes/assets/control-plane.md +122 -0
  244. package/.agents/skills/eindri-homes/assets/dispatch.md +80 -0
  245. package/.agents/skills/frigg-consent/README.md +3 -0
  246. package/.agents/skills/frigg-consent/SKILL.md +56 -0
  247. package/.agents/skills/galdr-ymirsystem/README.md +3 -0
  248. package/.agents/skills/galdr-ymirsystem/SKILL.md +158 -0
  249. package/.agents/skills/galdr-ymirsystem/assets/README.md +74 -0
  250. package/.agents/skills/galdr-ymirsystem/assets/brokk-distro-runtime.md +390 -0
  251. package/.agents/skills/galdr-ymirsystem/assets/build-method.md +113 -0
  252. package/.agents/skills/galdr-ymirsystem/assets/build-tool-categories.md +178 -0
  253. package/.agents/skills/galdr-ymirsystem/assets/eindri-orchestration.md +518 -0
  254. package/.agents/skills/galdr-ymirsystem/assets/eindri-profiles.md +136 -0
  255. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/README.md +673 -0
  256. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/claude-code.md +197 -0
  257. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/codex.md +191 -0
  258. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/cursor.md +193 -0
  259. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/opencode.md +262 -0
  260. package/.agents/skills/galdr-ymirsystem/assets/harness-integration/pi.md +295 -0
  261. package/.agents/skills/galdr-ymirsystem/assets/hlidskjalf-ui.md +496 -0
  262. package/.agents/skills/galdr-ymirsystem/assets/installation.md +571 -0
  263. package/.agents/skills/galdr-ymirsystem/assets/local-models/HOST-DATA.example.md +72 -0
  264. package/.agents/skills/galdr-ymirsystem/assets/local-models.md +274 -0
  265. package/.agents/skills/galdr-ymirsystem/assets/memory-well.md +161 -0
  266. package/.agents/skills/galdr-ymirsystem/assets/nornir-jobs.md +377 -0
  267. package/.agents/skills/galdr-ymirsystem/assets/norse-naming.md +325 -0
  268. package/.agents/skills/galdr-ymirsystem/assets/odrerir-hall.md +129 -0
  269. package/.agents/skills/galdr-ymirsystem/assets/pi-boot/einherjar-spawn.schema.json +81 -0
  270. package/.agents/skills/galdr-ymirsystem/assets/pi-boot/herdr-profile.toml +75 -0
  271. package/.agents/skills/galdr-ymirsystem/assets/pi-boot/pi-profile.yml +96 -0
  272. package/.agents/skills/galdr-ymirsystem/assets/pi-boot/supervision-tree.yml +163 -0
  273. package/.agents/skills/galdr-ymirsystem/assets/pi-boot-guide.md +58 -0
  274. package/.agents/skills/galdr-ymirsystem/assets/porting-upstream-to-norse.md +301 -0
  275. package/.agents/skills/galdr-ymirsystem/assets/principles.md +385 -0
  276. package/.agents/skills/galdr-ymirsystem/assets/reference-adoption.md +99 -0
  277. package/.agents/skills/galdr-ymirsystem/assets/registry.md +379 -0
  278. package/.agents/skills/galdr-ymirsystem/assets/runtime-compliance.md +463 -0
  279. package/.agents/skills/galdr-ymirsystem/assets/runtime-components.md +553 -0
  280. package/.agents/skills/galdr-ymirsystem/assets/smidja.md +175 -0
  281. package/.agents/skills/galdr-ymirsystem/schemas/toon-schemas.md +190 -0
  282. package/.agents/skills/galdr-ymirsystem/scripts/README.md +45 -0
  283. package/.agents/skills/galdr-ymirsystem/scripts/bench-one.sh +248 -0
  284. package/.agents/skills/galdr-ymirsystem/scripts/compliance-check.sh +360 -0
  285. package/.agents/skills/galdr-ymirsystem/scripts/gpu-sample.sh +43 -0
  286. package/.agents/skills/galdr-ymirsystem/scripts/stop-all.sh +34 -0
  287. package/.agents/skills/galdr-ymirsystem/scripts/toon-check.py +188 -0
  288. package/.agents/skills/gjallarhorn-relay/README.md +3 -0
  289. package/.agents/skills/gjallarhorn-relay/SKILL.md +283 -0
  290. package/.agents/skills/groa-update/SKILL.md +70 -0
  291. package/.agents/skills/hamr-adapters/README.md +3 -0
  292. package/.agents/skills/hamr-adapters/SKILL.md +123 -0
  293. package/.agents/skills/hamr-adapters/references/common/control-and-recovery.md +37 -0
  294. package/.agents/skills/hamr-adapters/references/common/dispatch.md +32 -0
  295. package/.agents/skills/hamr-adapters/references/common/model-and-effort.md +42 -0
  296. package/.agents/skills/hamr-adapters/references/common/primary-hooks.md +40 -0
  297. package/.agents/skills/hamr-adapters/references/harness/claude.md +55 -0
  298. package/.agents/skills/hamr-adapters/references/harness/codex.md +43 -0
  299. package/.agents/skills/hamr-adapters/references/harness/cursor.md +75 -0
  300. package/.agents/skills/hamr-adapters/references/harness/grok.md +69 -0
  301. package/.agents/skills/hamr-adapters/references/harness/kimi.md +51 -0
  302. package/.agents/skills/hamr-adapters/references/harness/muse.md +70 -0
  303. package/.agents/skills/hamr-adapters/references/harness/opencode.md +42 -0
  304. package/.agents/skills/hamr-adapters/references/harness/pi.md +56 -0
  305. package/.agents/skills/herdr-panes/README.md +3 -0
  306. package/.agents/skills/herdr-panes/SKILL.md +92 -0
  307. package/.agents/skills/herdr-panes/assets/herdr-backend.md +346 -0
  308. package/.agents/skills/herdr-panes/assets/tmux-backend.md +115 -0
  309. package/.agents/skills/hnoss-design/DESIGN.md +19 -0
  310. package/.agents/skills/hnoss-design/README.md +3 -0
  311. package/.agents/skills/hnoss-design/SKILL.md +83 -0
  312. package/.agents/skills/hvild-afk/README.md +3 -0
  313. package/.agents/skills/hvild-afk/SKILL.md +241 -0
  314. package/.agents/skills/jord-projects/README.md +3 -0
  315. package/.agents/skills/jord-projects/SKILL.md +92 -0
  316. package/.agents/skills/lifecycle/SKILL.md +56 -0
  317. package/.agents/skills/lifecycle/smoke_test.sh +52 -0
  318. package/.agents/skills/lifecycle/start.sh +21 -0
  319. package/.agents/skills/lifecycle/status.sh +35 -0
  320. package/.agents/skills/lifecycle/stop.sh +16 -0
  321. package/.agents/skills/muninn-stow/README.md +3 -0
  322. package/.agents/skills/muninn-stow/SKILL.md +309 -0
  323. package/.agents/skills/no-mistakes/SKILL.md +379 -0
  324. package/.agents/skills/nornir-schedule/README.md +3 -0
  325. package/.agents/skills/nornir-schedule/SKILL.md +25 -0
  326. package/.agents/skills/nornir-schedule/assets/events.md +137 -0
  327. package/.agents/skills/nornir-schedule/assets/quota.md +131 -0
  328. package/.agents/skills/nsr-compliance/README.md +3 -0
  329. package/.agents/skills/nsr-compliance/SKILL.md +29 -0
  330. package/.agents/skills/nsr-compliance/assets/nsr/README.md +40 -0
  331. package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/README.md +15 -0
  332. package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/git-workflow.md +18 -0
  333. package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/security.md +22 -0
  334. package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/tech-stack.md +8 -0
  335. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/SKILL.md +71 -0
  336. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/config/core_four.yaml +16 -0
  337. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_danger.sh +102 -0
  338. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_wiring.sh +69 -0
  339. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/validate_code.sh +29 -0
  340. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/verify_docs.py +66 -0
  341. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/generate.sh +109 -0
  342. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/result_envelope.json +14 -0
  343. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/task_envelope.json +20 -0
  344. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/runner.py +303 -0
  345. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/telemetry/logger.py +112 -0
  346. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/README.md +18 -0
  347. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/config/README.md +10 -0
  348. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/README.md +12 -0
  349. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_env.sh +23 -0
  350. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_paths.sh +20 -0
  351. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_platform.sh +23 -0
  352. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/README.md +11 -0
  353. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/envelopes/README.md +10 -0
  354. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/README.md +10 -0
  355. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/install.sh +125 -0
  356. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/telemetry/README.md +11 -0
  357. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/README.md +20 -0
  358. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/README.md +36 -0
  359. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/SKILL-template.md +14 -0
  360. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/README.md +25 -0
  361. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/SKILL.md +13 -0
  362. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/create_branch.sh +6 -0
  363. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/safe_commit.sh +9 -0
  364. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/sync_upstream.sh +6 -0
  365. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/README.md +27 -0
  366. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/SKILL.md +15 -0
  367. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/smoke_test.sh +12 -0
  368. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/start.sh +19 -0
  369. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/status.sh +12 -0
  370. package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/stop.sh +15 -0
  371. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/README.md +18 -0
  372. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/README.md +10 -0
  373. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/core_four.yaml +13 -0
  374. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/README.md +12 -0
  375. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_danger.sh +102 -0
  376. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_env.sh +23 -0
  377. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_paths.sh +20 -0
  378. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_platform.sh +23 -0
  379. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_wiring.sh +69 -0
  380. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/README.md +11 -0
  381. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/README.md +10 -0
  382. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/result_envelope.json +14 -0
  383. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/task_envelope.json +20 -0
  384. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/runner.py +303 -0
  385. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/README.md +10 -0
  386. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/install.sh +125 -0
  387. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/README.md +11 -0
  388. package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/logger.py +112 -0
  389. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/README.md +14 -0
  390. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/api.md +17 -0
  391. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/compliance-wiring.md +155 -0
  392. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/frontend.md +15 -0
  393. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/README.md +11 -0
  394. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/README.md +23 -0
  395. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/README.md +16 -0
  396. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/template-README.md +11 -0
  397. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/deploy.sh +49 -0
  398. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/README.md +12 -0
  399. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/development.env.example +17 -0
  400. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/production.env.example +17 -0
  401. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/staging.env.example +17 -0
  402. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/README.md +11 -0
  403. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/template.env.example +8 -0
  404. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/README.md +26 -0
  405. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/agent.md +7 -0
  406. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/developers/dev-1.md +20 -0
  407. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/linux.md +9 -0
  408. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/macos.md +10 -0
  409. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/shared.md +19 -0
  410. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/windows.md +14 -0
  411. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/README.md +25 -0
  412. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/_template.md +41 -0
  413. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/hosting-1.md +41 -0
  414. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/README.md +21 -0
  415. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/README.md +15 -0
  416. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/deployment.md +19 -0
  417. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/disaster-recovery.md +15 -0
  418. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/ops-tasks.md +14 -0
  419. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/features/README.md +16 -0
  420. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/project-skills.md +146 -0
  421. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/README.md +11 -0
  422. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/software-compliance-research.md +269 -0
  423. package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/working-with-agents.md +260 -0
  424. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/AGENTS.md +38 -0
  425. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/ARCHITECTURE.md +36 -0
  426. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/BEST_PRACTICES.md +27 -0
  427. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/CI_CD.md +23 -0
  428. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/FEATURES.md +15 -0
  429. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/README.md +22 -0
  430. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/RULES.md +37 -0
  431. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/STRUCTURE.md +45 -0
  432. package/.agents/skills/nsr-compliance/assets/nsr/assets/root/TECH_STACK.md +28 -0
  433. package/.agents/skills/nsr-compliance/assets/nsr/scaffold-spec.md +63 -0
  434. package/.agents/skills/nsr-compliance/assets/nsr/scripts/scaffold.sh +103 -0
  435. package/.agents/skills/nsr-compliance/assets/nsr/scripts/validate.sh +52 -0
  436. package/.agents/skills/nsr-compliance/assets/nsrcompliance/SKILL.md +71 -0
  437. package/.agents/skills/nsr-compliance/assets/nsrcompliance/config/core_four.yaml +16 -0
  438. package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_danger.sh +102 -0
  439. package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_wiring.sh +69 -0
  440. package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/validate_code.sh +29 -0
  441. package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/verify_docs.py +66 -0
  442. package/.agents/skills/nsr-compliance/assets/nsrcompliance/generate.sh +109 -0
  443. package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/result_envelope.json +14 -0
  444. package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/task_envelope.json +20 -0
  445. package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/runner.py +303 -0
  446. package/.agents/skills/nsr-compliance/assets/nsrcompliance/telemetry/logger.py +112 -0
  447. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/README.md +18 -0
  448. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/config/README.md +10 -0
  449. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/README.md +12 -0
  450. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_env.sh +23 -0
  451. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_paths.sh +20 -0
  452. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_platform.sh +23 -0
  453. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/README.md +11 -0
  454. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/envelopes/README.md +10 -0
  455. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/README.md +10 -0
  456. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/install.sh +125 -0
  457. package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/telemetry/README.md +11 -0
  458. package/.agents/skills/pr-ops/README.md +3 -0
  459. package/.agents/skills/pr-ops/SKILL.md +109 -0
  460. package/.agents/skills/ratatoskr-a2a/README.md +3 -0
  461. package/.agents/skills/ratatoskr-a2a/SKILL.md +148 -0
  462. package/.agents/skills/rules-check-drift/SKILL.md +81 -0
  463. package/.agents/skills/saga-bearings/README.md +3 -0
  464. package/.agents/skills/saga-bearings/SKILL.md +26 -0
  465. package/.agents/skills/saga-bearings/assets/bearings.md +161 -0
  466. package/.agents/skills/saga-bearings/assets/board-template.html +731 -0
  467. package/.agents/skills/saga-bearings/assets/recap.md +56 -0
  468. package/.agents/skills/syn-recovery/README.md +3 -0
  469. package/.agents/skills/syn-recovery/SKILL.md +54 -0
  470. package/.agents/skills/tyr-check/README.md +3 -0
  471. package/.agents/skills/tyr-check/SKILL.md +218 -0
  472. package/.agents/skills/urdh-hold/README.md +3 -0
  473. package/.agents/skills/urdh-hold/SKILL.md +25 -0
  474. package/.agents/skills/urdh-hold/assets/decisions.md +15 -0
  475. package/.agents/skills/urdh-hold/assets/hold.md +54 -0
  476. package/.agents/skills/vor-diagnostics/README.md +3 -0
  477. package/.agents/skills/vor-diagnostics/SKILL.md +68 -0
  478. package/.agents/skills/ymir-host/README.md +3 -0
  479. package/.agents/skills/ymir-host/SKILL.md +34 -0
  480. package/.agents/skills/ymir-host/assets/desktop.md +36 -0
  481. package/.agents/skills/ymir-host/assets/omarchy.md +297 -0
  482. package/.agents/skills/ymir-host/assets/runbooks.md +15 -0
  483. package/.agents/skills/ymir-host/assets/thjazi.md +220 -0
  484. package/.agents/skills/ymir-host/assets/update.md +64 -0
  485. package/.agents/tests/assets/board-render-harness.mjs +117 -0
  486. package/.agents/tests/cmux-test-safety.sh +51 -0
  487. package/.agents/tests/fixtures.sh +291 -0
  488. package/.agents/tests/fm-afk-inject-e2e.test.sh +428 -0
  489. package/.agents/tests/fm-afk-inject-herdr-e2e.test.sh +536 -0
  490. package/.agents/tests/fm-afk-launch.test.sh +961 -0
  491. package/.agents/tests/fm-afk-pi-herdr-return-e2e.test.sh +297 -0
  492. package/.agents/tests/fm-afk-return.test.sh +283 -0
  493. package/.agents/tests/fm-arm-pretool-check.test.sh +482 -0
  494. package/.agents/tests/fm-ask-user-authority.test.sh +42 -0
  495. package/.agents/tests/fm-backend-autodetect-smoke.test.sh +176 -0
  496. package/.agents/tests/fm-backend-cmux-smoke.test.sh +188 -0
  497. package/.agents/tests/fm-backend-cmux.test.sh +1166 -0
  498. package/.agents/tests/fm-backend-herdr-eventwait-smoke.test.sh +136 -0
  499. package/.agents/tests/fm-backend-herdr-eventwait.test.py +106 -0
  500. package/.agents/tests/fm-backend-herdr-focus-flash-e2e.test.sh +409 -0
  501. package/.agents/tests/fm-backend-herdr-launcher-workspace-e2e.test.sh +437 -0
  502. package/.agents/tests/fm-backend-herdr-presentation-e2e.test.sh +1424 -0
  503. package/.agents/tests/fm-backend-herdr-prune-safety-e2e.test.sh +180 -0
  504. package/.agents/tests/fm-backend-herdr-respawn-idem-e2e.test.sh +182 -0
  505. package/.agents/tests/fm-backend-herdr-smoke.test.sh +355 -0
  506. package/.agents/tests/fm-backend-herdr-workspace-per-home-e2e.test.sh +251 -0
  507. package/.agents/tests/fm-backend-herdr.test.sh +4606 -0
  508. package/.agents/tests/fm-backend-orca.test.sh +1357 -0
  509. package/.agents/tests/fm-backend-tmux-smoke.test.sh +173 -0
  510. package/.agents/tests/fm-backend-zellij-smoke.test.sh +205 -0
  511. package/.agents/tests/fm-backend-zellij.test.sh +1360 -0
  512. package/.agents/tests/fm-backend.test.sh +1142 -0
  513. package/.agents/tests/fm-backlog-atomicity.test.sh +2302 -0
  514. package/.agents/tests/fm-backlog-handoff.test.sh +1360 -0
  515. package/.agents/tests/fm-bearings-board-render.test.sh +135 -0
  516. package/.agents/tests/fm-bearings-board.test.sh +414 -0
  517. package/.agents/tests/fm-bearings-snapshot.test.sh +1990 -0
  518. package/.agents/tests/fm-bootstrap-network-parallel.test.sh +316 -0
  519. package/.agents/tests/fm-bootstrap.test.sh +1178 -0
  520. package/.agents/tests/fm-branch-supervision.test.sh +552 -0
  521. package/.agents/tests/fm-brief.test.sh +785 -0
  522. package/.agents/tests/fm-busy-adapter-wiring.test.sh +324 -0
  523. package/.agents/tests/fm-busy-state.test.sh +465 -0
  524. package/.agents/tests/fm-calm-pi-extension.test.sh +3979 -0
  525. package/.agents/tests/fm-captain-hold-lifecycle.test.sh +1187 -0
  526. package/.agents/tests/fm-cd-pretool-check.test.sh +400 -0
  527. package/.agents/tests/fm-check-unregister.test.sh +198 -0
  528. package/.agents/tests/fm-classify-corr-token.test.sh +543 -0
  529. package/.agents/tests/fm-classify-decision-key.test.sh +340 -0
  530. package/.agents/tests/fm-claude-stop-autoarm-live-e2e.test.sh +164 -0
  531. package/.agents/tests/fm-claude-stop-autoarm.test.sh +1190 -0
  532. package/.agents/tests/fm-cmux-claude-composer-live-e2e.test.sh +110 -0
  533. package/.agents/tests/fm-codex-continuity-live-e2e.test.sh +55 -0
  534. package/.agents/tests/fm-composer-ghost.test.sh +716 -0
  535. package/.agents/tests/fm-composer-lib.test.sh +666 -0
  536. package/.agents/tests/fm-composer-matrix-live-e2e.test.sh +220 -0
  537. package/.agents/tests/fm-control-herdr-smoke.test.sh +149 -0
  538. package/.agents/tests/fm-control-relaunch.test.sh +1530 -0
  539. package/.agents/tests/fm-control.test.sh +910 -0
  540. package/.agents/tests/fm-crew-state.test.sh +1610 -0
  541. package/.agents/tests/fm-cursor-harness.test.sh +404 -0
  542. package/.agents/tests/fm-cursor-primary-live-e2e.test.sh +217 -0
  543. package/.agents/tests/fm-cursor-primary.test.sh +708 -0
  544. package/.agents/tests/fm-daemon.test.sh +2740 -0
  545. package/.agents/tests/fm-documentation-audiences.test.sh +141 -0
  546. package/.agents/tests/fm-ensure-agents-md.test.sh +371 -0
  547. package/.agents/tests/fm-extension-binding.test.sh +2187 -0
  548. package/.agents/tests/fm-fleet-snapshot-view.test.sh +816 -0
  549. package/.agents/tests/fm-fleet-sync.test.sh +721 -0
  550. package/.agents/tests/fm-gate-refuse.test.sh +356 -0
  551. package/.agents/tests/fm-gitignore-config.test.sh +89 -0
  552. package/.agents/tests/fm-gotmp.test.sh +230 -0
  553. package/.agents/tests/fm-grok-continuity-live-e2e.test.sh +112 -0
  554. package/.agents/tests/fm-grok-harness.test.sh +117 -0
  555. package/.agents/tests/fm-grok-stop-live-e2e.test.sh +219 -0
  556. package/.agents/tests/fm-guard-stale-banner.test.sh +709 -0
  557. package/.agents/tests/fm-harness-adapter-instructions-live-e2e.test.sh +134 -0
  558. package/.agents/tests/fm-harness-adapter-references.test.sh +30 -0
  559. package/.agents/tests/fm-harness-liveness-drift-live-e2e.test.sh +151 -0
  560. package/.agents/tests/fm-herdr-lab.test.sh +243 -0
  561. package/.agents/tests/fm-herdr-session-cleanup-e2e.test.sh +146 -0
  562. package/.agents/tests/fm-herdr-session-cleanup.test.sh +329 -0
  563. package/.agents/tests/fm-herdr-submit-confirm-live-e2e.test.sh +125 -0
  564. package/.agents/tests/fm-herdr-version-floor-live-e2e.test.sh +144 -0
  565. package/.agents/tests/fm-home-summary-refresh.test.sh +971 -0
  566. package/.agents/tests/fm-inactive-reconcile.test.sh +485 -0
  567. package/.agents/tests/fm-kimi-harness.test.sh +687 -0
  568. package/.agents/tests/fm-lint-workflows.test.sh +532 -0
  569. package/.agents/tests/fm-lint.test.sh +1023 -0
  570. package/.agents/tests/fm-muse-harness.test.sh +932 -0
  571. package/.agents/tests/fm-muse-signals-live-e2e.test.sh +205 -0
  572. package/.agents/tests/fm-no-mistakes-required.test.sh +72 -0
  573. package/.agents/tests/fm-on.test.sh +507 -0
  574. package/.agents/tests/fm-opencode-primary-live-e2e.test.sh +357 -0
  575. package/.agents/tests/fm-operational-input.test.sh +160 -0
  576. package/.agents/tests/fm-peek-remote.test.sh +110 -0
  577. package/.agents/tests/fm-pending-reply.test.sh +1288 -0
  578. package/.agents/tests/fm-pi-branch-extension.test.sh +3182 -0
  579. package/.agents/tests/fm-pi-branch-live-e2e.test.sh +527 -0
  580. package/.agents/tests/fm-pi-primary-live-e2e.test.sh +345 -0
  581. package/.agents/tests/fm-pi-primary-types.test.sh +68 -0
  582. package/.agents/tests/fm-pi-watch-extension.test.sh +2843 -0
  583. package/.agents/tests/fm-pr-check-security.test.sh +2140 -0
  584. package/.agents/tests/fm-pr-merge.test.sh +2135 -0
  585. package/.agents/tests/fm-procevent-quota.test.sh +225 -0
  586. package/.agents/tests/fm-procevent-when.test.sh +406 -0
  587. package/.agents/tests/fm-procevent.test.sh +1745 -0
  588. package/.agents/tests/fm-project-origin.test.sh +110 -0
  589. package/.agents/tests/fm-public-followup.test.sh +2272 -0
  590. package/.agents/tests/fm-quota-array-dispatch-live-e2e.test.sh +526 -0
  591. package/.agents/tests/fm-quota-choose.test.sh +626 -0
  592. package/.agents/tests/fm-remote-backlog-handoff.test.sh +453 -0
  593. package/.agents/tests/fm-remote-doctor.test.sh +625 -0
  594. package/.agents/tests/fm-remote-entrypoint.test.sh +59 -0
  595. package/.agents/tests/fm-remote-job-orphan-reap.test.sh +205 -0
  596. package/.agents/tests/fm-remote-job.test.sh +768 -0
  597. package/.agents/tests/fm-remote-reply.test.sh +520 -0
  598. package/.agents/tests/fm-remote-secondmate-lifecycle-e2e.test.sh +1256 -0
  599. package/.agents/tests/fm-remote-secondmate-parent-binding.test.sh +326 -0
  600. package/.agents/tests/fm-remote-secondmate-trace-context.test.sh +310 -0
  601. package/.agents/tests/fm-remote-transport-lanes.test.sh +431 -0
  602. package/.agents/tests/fm-review-diff.test.sh +176 -0
  603. package/.agents/tests/fm-secondmate-harness.test.sh +2600 -0
  604. package/.agents/tests/fm-secondmate-lifecycle-e2e.test.sh +259 -0
  605. package/.agents/tests/fm-secondmate-liveness.test.sh +559 -0
  606. package/.agents/tests/fm-secondmate-reconcile.test.sh +732 -0
  607. package/.agents/tests/fm-secondmate-safety.test.sh +2972 -0
  608. package/.agents/tests/fm-secondmate-sync.test.sh +913 -0
  609. package/.agents/tests/fm-send-inbox-doorbell-live-e2e.test.sh +206 -0
  610. package/.agents/tests/fm-send-inbox.test.sh +352 -0
  611. package/.agents/tests/fm-send-popup-settle.test.sh +167 -0
  612. package/.agents/tests/fm-send-remote-delivery.test.sh +796 -0
  613. package/.agents/tests/fm-send-resolve-key.test.sh +551 -0
  614. package/.agents/tests/fm-send-secondmate-marker-herdr-e2e.test.sh +187 -0
  615. package/.agents/tests/fm-send-secondmate-marker.test.sh +278 -0
  616. package/.agents/tests/fm-send-settle.test.sh +147 -0
  617. package/.agents/tests/fm-send-strict.test.sh +241 -0
  618. package/.agents/tests/fm-session-lock-ancestry.test.sh +365 -0
  619. package/.agents/tests/fm-session-start.test.sh +2515 -0
  620. package/.agents/tests/fm-sessionstart-hook-live-e2e.test.sh +631 -0
  621. package/.agents/tests/fm-sessionstart-instruction-refresh-live-e2e.test.sh +230 -0
  622. package/.agents/tests/fm-sessionstart-nudge.test.sh +1039 -0
  623. package/.agents/tests/fm-shared-captain-inheritance.test.sh +404 -0
  624. package/.agents/tests/fm-spawn-batch.test.sh +148 -0
  625. package/.agents/tests/fm-spawn-dispatch-profile.test.sh +827 -0
  626. package/.agents/tests/fm-spawn-pool-base-freshen.test.sh +440 -0
  627. package/.agents/tests/fm-spawn-worktree-settle.test.sh +147 -0
  628. package/.agents/tests/fm-startup-memory-budget.test.sh +333 -0
  629. package/.agents/tests/fm-startup-network.test.sh +712 -0
  630. package/.agents/tests/fm-stow-cascade.test.sh +370 -0
  631. package/.agents/tests/fm-subagent-pretool-check.test.sh +291 -0
  632. package/.agents/tests/fm-supervision-events.test.sh +156 -0
  633. package/.agents/tests/fm-supervision-instructions.test.sh +189 -0
  634. package/.agents/tests/fm-tangle-guard.test.sh +277 -0
  635. package/.agents/tests/fm-task-delivery.test.sh +420 -0
  636. package/.agents/tests/fm-task-inbox.test.sh +513 -0
  637. package/.agents/tests/fm-teardown-endpoint-safety.test.sh +374 -0
  638. package/.agents/tests/fm-teardown.test.sh +2665 -0
  639. package/.agents/tests/fm-test-fixture-cleanup.test.sh +172 -0
  640. package/.agents/tests/fm-test-fixtures.test.sh +132 -0
  641. package/.agents/tests/fm-test-isolation-proof.test.sh +278 -0
  642. package/.agents/tests/fm-test-run.test.sh +1196 -0
  643. package/.agents/tests/fm-tmux-agent-liveness.test.sh +354 -0
  644. package/.agents/tests/fm-tmux-submit-busy.test.sh +340 -0
  645. package/.agents/tests/fm-tool-update-check.test.sh +1044 -0
  646. package/.agents/tests/fm-trace-context-lib.test.sh +253 -0
  647. package/.agents/tests/fm-trace-context-spawn.test.sh +581 -0
  648. package/.agents/tests/fm-transition-lib.test.sh +54 -0
  649. package/.agents/tests/fm-turnend-guard.test.sh +1822 -0
  650. package/.agents/tests/fm-update.test.sh +304 -0
  651. package/.agents/tests/fm-vendor-auth-probe.test.sh +395 -0
  652. package/.agents/tests/fm-voice-relay.test.sh +4741 -0
  653. package/.agents/tests/fm-wake-daemon-lifecycle-e2e.test.sh +171 -0
  654. package/.agents/tests/fm-wake-drain-open-decisions-cursor.test.sh +356 -0
  655. package/.agents/tests/fm-wake-drain-open-decisions.test.sh +226 -0
  656. package/.agents/tests/fm-wake-drain-unread-status.test.sh +379 -0
  657. package/.agents/tests/fm-wake-queue.test.sh +1224 -0
  658. package/.agents/tests/fm-watch-arm.test.sh +821 -0
  659. package/.agents/tests/fm-watch-checkpoint.test.sh +87 -0
  660. package/.agents/tests/fm-watch-recovery-loop.test.sh +223 -0
  661. package/.agents/tests/fm-watch-triage.test.sh +3889 -0
  662. package/.agents/tests/fm-watcher-lock.test.sh +1133 -0
  663. package/.agents/tests/fm-x-mode.test.sh +3042 -0
  664. package/.agents/tests/gleipnir-guard-pretool-check.test.sh +51 -0
  665. package/.agents/tests/gleipnir-machine-lock.test.sh +130 -0
  666. package/.agents/tests/herdr-test-safety.sh +42 -0
  667. package/.agents/tests/lib.sh +315 -0
  668. package/.agents/tests/remote-herdr-fixture.sh +125 -0
  669. package/.agents/tests/secondmate-helpers.sh +193 -0
  670. package/.agents/tests/smoke.test.sh +93 -0
  671. package/.agents/tests/wake-helpers.sh +338 -0
  672. package/.agents/tests/zellij-test-safety.sh +60 -0
  673. package/.agents/tools/README.md +10 -0
  674. package/.agents/tools/bin/tasks-cli +267 -0
  675. package/.agents/tools/tasks-cli.ts +216 -0
  676. package/AGENTS.md +454 -0
  677. package/CHANGELOG.md +881 -0
  678. package/LICENSE +1 -1
  679. package/NOTICE +63 -0
  680. package/README.md +113 -59
  681. package/RULES/01-domains.md +51 -0
  682. package/RULES/02-agents.md +78 -0
  683. package/RULES/03-houses.md +61 -0
  684. package/RULES/04-hoard.md +65 -0
  685. package/RULES/05-platforms.md +67 -0
  686. package/RULES/06-append-only.md +58 -0
  687. package/RULES/07-config.md +45 -0
  688. package/RULES/08-delivery-gate.md +75 -0
  689. package/RULES/README.md +20 -0
  690. package/bin/README.md +107 -0
  691. package/bin/a2a-mcp.sh +98 -0
  692. package/bin/a2a-serve.py +103 -0
  693. package/bin/a2a-serve.sh +8 -0
  694. package/bin/a2a-talk.sh +50 -0
  695. package/bin/a2abridge-ensure.sh +108 -0
  696. package/bin/agent-run.sh +43 -0
  697. package/bin/agents-config.sh +233 -0
  698. package/bin/apodex-smoke-test.sh +92 -0
  699. package/bin/bifrost-bridge.sh +112 -0
  700. package/bin/bifrost-ingress.sh +77 -0
  701. package/bin/bootstrap-macos.sh +107 -0
  702. package/bin/bootstrap-windows.ps1 +112 -0
  703. package/bin/branch-guard.sh +64 -0
  704. package/bin/brokk +73 -0
  705. package/bin/brokk-classify-lib.sh +1770 -0
  706. package/bin/brokk-lease-lib.sh +222 -0
  707. package/bin/brokk-lease.sh +193 -0
  708. package/bin/brokk-lint.sh +65 -0
  709. package/bin/brokk-send.sh +38 -0
  710. package/bin/brokk-update.sh +9 -0
  711. package/bin/brokk-wake-grant.sh +127 -0
  712. package/bin/brokk-wake-lib.sh +1849 -0
  713. package/bin/changelog-guard.sh +165 -0
  714. package/bin/crash-sense.sh +160 -0
  715. package/bin/desktop-place.sh +224 -0
  716. package/bin/docs-guard.sh +39 -0
  717. package/bin/editor-place.sh +207 -0
  718. package/bin/eindri-acclaim.sh +34 -0
  719. package/bin/eindri-control.sh +28 -0
  720. package/bin/eindri-role.sh +83 -0
  721. package/bin/eindri-seen.sh +41 -0
  722. package/bin/eindri-send.sh +15 -0
  723. package/bin/eindri-start.sh +85 -0
  724. package/bin/eindri-watch.sh +57 -0
  725. package/bin/einherjar-spawn.sh +576 -0
  726. package/bin/eir-doctor.sh +112 -0
  727. package/bin/erindi-brief.sh +271 -0
  728. package/bin/fleet-apply.sh +68 -0
  729. package/bin/github-deploy.sh +81 -0
  730. package/bin/gjallarhorn-expose.sh +102 -0
  731. package/bin/gjallarhorn-notify.sh +58 -0
  732. package/bin/gjallarhorn-purge.sh +54 -0
  733. package/bin/gjallarhorn-tunnel.sh +72 -0
  734. package/bin/gleipnir-lock-lib.sh +284 -0
  735. package/bin/groa-update.sh +122 -0
  736. package/bin/hall-snapshot.sh +92 -0
  737. package/bin/hamr-harness.sh +246 -0
  738. package/bin/heimdall-ssh-keys.sh +374 -0
  739. package/bin/herdr-agents.py +44 -0
  740. package/bin/herdr-ensure.sh +104 -0
  741. package/bin/herdr-run.sh +431 -0
  742. package/bin/hermes-ensure.sh +88 -0
  743. package/bin/hoard-lib.sh +25 -0
  744. package/bin/hodd.sh +78 -0
  745. package/bin/host-sense.sh +199 -0
  746. package/bin/huginn-research-worker.sh +108 -0
  747. package/bin/local-model-lock.sh +51 -0
  748. package/bin/mimir-bridge.py +226 -0
  749. package/bin/mimir-bridge.sh +87 -0
  750. package/bin/mimir-ingest.sh +131 -0
  751. package/bin/mimir.sh +113 -0
  752. package/bin/mjollnir-webhook.sh +59 -0
  753. package/bin/mjollnir.sh +85 -0
  754. package/bin/model-hardware.sh +82 -0
  755. package/bin/model-resolve.sh +147 -0
  756. package/bin/models-detect.sh +178 -0
  757. package/bin/nornir-cron-start.sh +162 -0
  758. package/bin/nornir-job-daily-briefing.sh +191 -0
  759. package/bin/nornir-job-git-sync.sh +152 -0
  760. package/bin/nornir-job-memory-housekeeping.sh +114 -0
  761. package/bin/nornir-job-observer.sh +166 -0
  762. package/bin/nornir-job-skillopt-sleep.sh +76 -0
  763. package/bin/omarchy-hook-install.sh +60 -0
  764. package/bin/omarchy-install.sh +148 -0
  765. package/bin/omarchy-plugins.sh +174 -0
  766. package/bin/omarchy-sense.sh +149 -0
  767. package/bin/perm-guard.sh +30 -0
  768. package/bin/pi-agent.sh +68 -0
  769. package/bin/pi-ensure.sh +77 -0
  770. package/bin/pi-local.sh +37 -0
  771. package/bin/pi-seat.sh +63 -0
  772. package/bin/prereq-ensure.sh +166 -0
  773. package/bin/private-guard.sh +38 -0
  774. package/bin/project-git.sh +55 -0
  775. package/bin/public-guard.sh +70 -0
  776. package/bin/ratatoskr.sh +49 -0
  777. package/bin/realm-lib.sh +32 -0
  778. package/bin/repo-scrub.sh +62 -0
  779. package/bin/rodd-operational-input.sh +250 -0
  780. package/bin/runes-append.sh +198 -0
  781. package/bin/saga-session-start.sh +172 -0
  782. package/bin/saga-sessionstart-run.sh +79 -0
  783. package/bin/saga-wake-drain.sh +41 -0
  784. package/bin/secret-guard.sh +63 -0
  785. package/bin/sessrumnir-ensure.sh +100 -0
  786. package/bin/sessrumnir-sync.sh +237 -0
  787. package/bin/sessrumnir.sh +91 -0
  788. package/bin/skillopt-setup.sh +76 -0
  789. package/bin/skuld-branch-outcome.sh +203 -0
  790. package/bin/skuld-branch-prompt.sh +101 -0
  791. package/bin/smidja-bootstrap.sh +90 -0
  792. package/bin/smidja-observe.sh +86 -0
  793. package/bin/syn-arm-pretool-check.sh +57 -0
  794. package/bin/syn-asset-pretool-check.sh +76 -0
  795. package/bin/syn-cd-pretool-check.sh +28 -0
  796. package/bin/syn-guard-pretool-check.sh +83 -0
  797. package/bin/syn-turnend-guard.sh +36 -0
  798. package/bin/syn-watch-arm.sh +99 -0
  799. package/bin/tailscale-sync.sh +190 -0
  800. package/bin/telegram-bot.sh +69 -0
  801. package/bin/toolchain.sh +74 -0
  802. package/bin/utgard.sh +111 -0
  803. package/bin/valhalla.sh +115 -0
  804. package/bin/valknut-load.sh +260 -0
  805. package/bin/vor-crew-state.sh +124 -0
  806. package/bin/wedge-notify.sh +47 -0
  807. package/bin/workspace-provision.sh +80 -0
  808. package/bin/workspace-rag.sh +150 -0
  809. package/bin/wyrd-db.sh +47 -0
  810. package/bin/yggdrasil.sh +152 -0
  811. package/bin/ymir-edit.sh +145 -0
  812. package/bin/ymir-install.sh +641 -0
  813. package/bin/ymir-invite.sh +93 -0
  814. package/bin/ymir-isolation.sh +88 -0
  815. package/bin/ymir-migrate.sh +61 -0
  816. package/bin/ymir-platform.sh +348 -0
  817. package/bin/ymir-say.sh +97 -0
  818. package/bin/ymir-setup-auth.sh +108 -0
  819. package/bin/ymir-validate.sh +173 -0
  820. package/bin/ymir.js +74 -16
  821. package/docs/Architecture.md +339 -0
  822. package/docs/design.md +351 -0
  823. package/docs/installations/README.md +63 -0
  824. package/docs/installations/ymir-home.md +93 -0
  825. package/docs/integration.md +105 -0
  826. package/docs/lore.md +1056 -0
  827. package/docs/research/agent-harnesses.md +290 -0
  828. package/docs/runbooks/README.md +19 -0
  829. package/docs/runbooks/a2a.md +91 -0
  830. package/docs/runbooks/agent-permissions.md +99 -0
  831. package/docs/runbooks/agents.md +57 -0
  832. package/docs/runbooks/models.md +69 -0
  833. package/docs/runbooks/realm-onboarding.md +60 -0
  834. package/docs/runbooks/secrets-and-hoard.md +60 -0
  835. package/docs/runbooks/updates-and-migrations.md +110 -0
  836. package/docs/runbooks/worktrees-isolation.md +72 -0
  837. package/docs/session-start.md +105 -0
  838. package/docs/skillopt-integration.md +321 -0
  839. package/docs/sync-system.md +66 -0
  840. package/docs/workspaces.md +104 -0
  841. package/docs/ymir-rut.md +260 -0
  842. package/package.json +44 -14
  843. package/packaging/build.sh +74 -0
  844. package/packaging/macos/Ymir Installer.command +43 -0
  845. package/packaging/windows/ymir-setup.nsi +74 -0
  846. package/scripts/README.md +22 -0
  847. package/scripts/electron.sh +210 -0
  848. package/scripts/start.sh +167 -0
  849. package/scripts/stop.sh +113 -0
  850. package/install.sh +0 -35
@@ -0,0 +1,260 @@
1
+ # Working with Agents — Comprehensive Guide for Way-Of Teams
2
+
3
+ > **Status:** Research-informed practice doc (`docs/research/`)
4
+ > **Based on:** software-compliance research — full sources in `docs/research/software-compliance-research.md`.
5
+ > **Companion:** `docs/research/agents-workflow.md` — the day-to-day workflow this guide feeds into.
6
+ > **Applies to:** every Way-Of project following the NSR ruleset, and to how engineers + agents + automation cooperate.
7
+
8
+ This is the operating manual for working **with** agent systems: the mental model, the architecture, the verification discipline, the economics, and the guardrails — grounded in the software-compliance research. The workflow *process* is documented separately in `docs/research/agents-workflow.md`.
9
+
10
+ ---
11
+
12
+ ## 1. What You Are Actually Building
13
+
14
+ A **software compliance** is an agentic system that takes a specification and produces working, deployed, tested software with minimal intervention. It is **not** a chat — it is a **continuous feedback loop**:
15
+
16
+ > "A pipeline runs once. A compliance learns." — mager.co
17
+
18
+ There is a **maturity ladder** (widely adopted, from mager.co / Dan Shapiro):
19
+
20
+ | Level | What it is |
21
+ |-------|-----------|
22
+ | **L0** | Autocomplete |
23
+ | **L1** | Chat-to-code |
24
+ | **L2** | File-aware coding agents |
25
+ | **L3** | Multi-agent pipelines |
26
+ | **L4** | Software compliance — autonomous build-test-deploy loops |
27
+ | **L5** | "Dark compliance" — no human on the floor (Fanuc lights-out model) |
28
+
29
+ A key distinction: an **AI compliance** (NVIDIA) manufactures *tokens* on GPUs. A **software compliance** **spends** tokens to produce software. Don't conflate the two.
30
+
31
+ **In NSR terms** the ruleset is designed to operate at **L4** (with L5 guardrails): deterministic harness owns the process, agents are bounded workers, gates decide acceptance, and telemetry feeds the loop.
32
+
33
+ ---
34
+
35
+ ## 2. The Three-Actor Model: Engineer, Code, Agents
36
+
37
+ From disler/IndyDevDan's Super Simple Software Compliance, keep **three actors** separate and use each at the right moment:
38
+
39
+ | Actor | Strength | When to use |
40
+ |-------|----------|-------------|
41
+ | **The Engineer (you)** | Defining intent, trade-offs, review, approval | Start (scope/acceptance) and end (approve/merge) |
42
+ | **The Code (determinism)** | Tests, lint, migrations, git, arithmetic, orchestration | Whenever the step is *known* — never pay an agent to do arithmetic |
43
+ | **The Agents (LLMs)** | Reading, deciding, drafting, exploring unknown code | Steps needing judgment over unstructured content |
44
+
45
+ > "The trick is not running more agents. The trick is using all three at the right moment." — disler/SSSF
46
+
47
+ **Rule of thumb:** if the task can be a script (`test`, `lint`, `migrate`, `commit`), it **must** be a script — you "stop paying an agent to do arithmetic." Agents handle only what needs reading and deciding.
48
+
49
+ ---
50
+
51
+ ## 3. The Architecture: Deterministic Code Owns the Graph
52
+
53
+ > "Deterministic Python owns the graph. Coding agents are bounded nodes inside it. An ADW script owns sequencing, retries, and acceptance. Agents work inside named phases. Typed JSON envelopes carry context across the seams. Every event streams into SQLite while it is still happening. **Agent proposes, code disposes.**" — disler/SSSF
54
+
55
+ Break this down into concrete rules:
56
+
57
+ 1. **Sequencing, retries, acceptance = code.** The harness (`.compliance/harness/runner.py`) or an ADW-style script owns the run, not the agent's whim.
58
+ 2. **Agents are bounded nodes.** An agent works inside **one named phase**, produces its output, hands off — it never drives the whole run.
59
+ 3. **Context transfers in code, not conversation.** Agents write reference files into a `context_handoff/` or emit a final valid-JSON response parsed against a typed output (an envelope); code persists it (`envelope.json`) and injects it into the next agent's prompt. This kills the "game of telephone."
60
+ 4. **Agent proposes, code disposes.** An agent may *propose* a commit message on its envelope; the `git commit` **code phase** decides and writes. The agent never runs `git commit` itself.
61
+
62
+ **In NSR terms:** this is `.compliance/harness/envelopes/` (typed JSON/YAML handoffs), `.compliance/gates/` (`$? == 0`), `.agents/skills/` (every operation is a bounded script), and the "zero ad-hoc shell commands" rule.
63
+
64
+ ---
65
+
66
+ ## 4. Orchestrator–Worker: The Dominant Pattern
67
+
68
+ Anthropic's production multi-agent research system validated the dominant architecture:
69
+
70
+ > "An orchestrator-worker pattern, where a lead agent coordinates the process while delegating to specialized subagents that operate in parallel."
71
+
72
+ The orchestrator:
73
+ - Breaks a task into **bounded, typed subtasks**.
74
+ - Routes each to a specialized worker (architect, coder, reviewer, tester, documenter, deployer).
75
+ - Holds state and re-collects results.
76
+
77
+ **Critical caveats from Anthropic (design constraints, not optional):**
78
+
79
+ - Multi-agent systems use **~4× more tokens** than single chat; some architectures **~15× more**. Agents "burn through tokens fast."
80
+ - **"Most coding tasks involve fewer truly parallelizable tasks than research"** — do not fan out agents for the sake of it. Parallelize only genuine independent work.
81
+ - Each subagent needs: **objective, output format, tool/source guidance, and clear task boundaries**.
82
+ - Agents should write artifacts to the filesystem and pass **lightweight references** back (not giant context blobs).
83
+
84
+ **Cost control pattern:** move known work (tests, lint) into **code phases**; reserve agents for the judgment-heavy parts. This is exactly the disler design and the NSR rule "everything via scripts."
85
+
86
+ ---
87
+
88
+ ## 5. The Task Packet: Standardize the Unit of Work
89
+
90
+ Every agent gets a **compliance-ready task packet** (from Cole Murray's practitioner guide). In NSR this is the **typed envelope** (`.compliance/harness/envelopes/`) — if it doesn't fit the envelope, it isn't ready to dispatch:
91
+
92
+ | Field | What it holds |
93
+ |-------|---------------|
94
+ | **Objective** | What must be achieved. |
95
+ | **Non-goals** | Explicitly what it must NOT do. |
96
+ | **Context** | Pointers to files/slices — not the whole repo. |
97
+ | **Acceptance criteria** | How the result will be judged. |
98
+ | **Capabilities** | Allowed tools, scripts, and paths. |
99
+ | **Checks** | Which gates run against its output. |
100
+ | **Terminal states** | `complete` / `retry` / `no-op` / `escalate`. |
101
+ | **Evidence** | Artifacts and exit codes it must produce. |
102
+ | **Rollback** | How to undo if it goes wrong. |
103
+
104
+ Envelope example (disler, Pydantic-style):
105
+
106
+ ```python
107
+ class EnvelopeBase:
108
+ status: "success" | "fail"
109
+ summary: str
110
+ artifacts: list[str]
111
+ notes_for_next_agent: str
112
+
113
+ class BuildOutput(EnvelopeBase):
114
+ changed_files: list[str]
115
+ commit_message: str # consumed by the git commit code phase
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 6. Verification Is the Bottleneck — Not Generation
121
+
122
+ The consensus across practitioners (Cole Murray, StrongDM, Plannotator, Compliance.ai):
123
+
124
+ > Generation is cheap. **Your ceiling is how fast and how trustworthily you can verify output.** The bottleneck is almost always verification, not generation.
125
+
126
+ Operational consequences:
127
+
128
+ - **Gates verify claims, never predictions.** "Success must be earned. Every phase defaults to `fail`." — disler/SSSF
129
+ - Gate types: `artifacts_exist`, `files_non_empty`, `json_parses`, `diff_matches_claims`, `tests_pass(...)`. A gate is `gate(envelope, run) -> GateReport`.
130
+ - **The quality signal cannot be the same model that did the work.** An agent grading its own homework is too lenient. Use an independent deterministic check (tests, lint) or a different model.
131
+ - **Back-pressure before review.** Linters, hooks, and static analysis run *inside* the sandbox so agents see and fix failures **before** the PR — "Left alone, an agent will confidently produce code that doesn't meet your standards."
132
+ - **Visible failure is your friend; silent failure is the enemy.** A capped conversation, an unexercised test, a check that passed for the wrong reason — all silent failures. Make them loud.
133
+
134
+ **In NSR terms:** `.compliance/gates/` (check_env, check_paths, check_platform, verify_docs, validate_code) run before commit and before deploy, judged by `$? == 0`.
135
+
136
+ ---
137
+
138
+ ## 7. The Feedback Loop Makes It a Compliance
139
+
140
+ > "A pipeline runs once. A compliance learns." — mager.co
141
+
142
+ ```
143
+ Signals → Triage → Plan → Build → Test → Review → Secure → Ship → Monitor → (new Signals)
144
+ ```
145
+
146
+ Three loop behaviors matter:
147
+
148
+ 1. **Repair, don't restart.** When JSON doesn't parse or a gate fails: *nothing restarts.* The harness **re-prompts the same session** with a correction naming exactly what was wrong, and the context window stays intact. One correction = one message, not a cold start.
149
+ 2. **Monitoring feeds the queue.** Alerts/dashboards produce new signals that re-enter triage as tickets.
150
+ 3. **Measure to improve.** "If you cannot measure your agents, you cannot improve them." Every event streams to the telemetry store (`logger.py` / SQLite) — phases, events, envelopes, gate results, agent sessions.
151
+
152
+ **Four observable properties of a working compliance** (Compliance.ai): standardized inputs, standardized tooling, measurable output, replayability.
153
+
154
+ ---
155
+
156
+ ## 8. Match Autonomy to Blast Radius
157
+
158
+ Trust is earned in stages (the trust ladder seen across Cursor, Stripe, Harvey, StrongDM):
159
+
160
+ | Blast radius | Suggested autonomy |
161
+ |--------------|--------------------|
162
+ | Read-only / research | Full autonomy |
163
+ | Draft PRs / low-risk code | Auto-generate, human review |
164
+ | Small scoped refactors, low-risk PRs | Auto-merge with gates + review |
165
+ | Production / per-client / multi-tenant deploys | Full gates **+ human go/no-go gate** |
166
+
167
+ > The field genuinely disagrees on whether review stays human or becomes automated — but the safe default is **match autonomy to blast radius.**
168
+
169
+ Industry-landscape reality check (self-reported numbers — treat as promotional, not comparable):
170
+ - Stripe: 1,300+ agent PRs/week, still human-reviewed.
171
+ - Cursor: ~40% of internal PRs.
172
+ - Uber Minion: ~11% of PRs.
173
+ - Ramp Inspect: >50% of PRs.
174
+ - Ona: 375 PRs in 10 days.
175
+ - StrongDM: runs a **dark compliance** (no human review; validate purely by observable behavior).
176
+ - Cost: ~$1,000/day per engineer in tokens (StrongDM-reported).
177
+
178
+ ---
179
+
180
+ ## 9. Guardrails: Costs, Loops, Credentials, Quality
181
+
182
+ | Pitfall | Mitigation (NSR) |
183
+ |---------|------------------|
184
+ | **Token explosion** (~4× chat, ~15× multi-agent) | Move known work into code phases; effort budgets per phase; parallelize only genuine independent work |
185
+ | **Agent loops / spiraling** | Bounded phases, retry caps, terminal states (`no-op`/`escalate`) |
186
+ | **Hallucinated commands** | Zero ad-hoc shell commands — all ops via `.agents/skills/` scripts |
187
+ | **Cost explosion** | Telemetry (`logger.py`), budgets, spend metering per phase |
188
+ | **Code-quality erosion / "velocity theater"** | Structural gates, review by risk tier, one primary stack per feature (GitClear: more duplicate code & churn as AI code grows) |
189
+ | **Credential exfiltration** | Secrets live in the control plane (`.compliance/`, env/secret manager) — never in the agent sandbox; secrets never committed |
190
+ | **Self-graded homework** | Gates + tests independent of the producing agent |
191
+ | **Prompt-injectable agents** | An agent that can be prompt-injected will eventually exfiltrate whatever credentials it can reach — keep credentials out of the sandbox |
192
+ | **Overstated maturity** | "Repeatable inputs do not guarantee good intent. More autonomy ≠ lower cost or higher quality." (Plannotator) |
193
+
194
+ ---
195
+
196
+ ## 10. Model Selection per Phase (Core Four)
197
+
198
+ > "It is not about which model is best anymore; it is about which model is right for that one phase." — disler/SSSF
199
+
200
+ - **Fast/cheap model** for coding, tool calls, routine edits.
201
+ - **Larger reasoning model** for planning, architecture, deep debugging.
202
+ - Configure in `core_four.yaml` (**Context / Model / Prompt / Tools**); the harness reads it per phase.
203
+ - Different models at different price/speed points can run **in the same run**.
204
+ - Agent roster declares: `model` (provider/model-id), `thinking` level, `purpose`, prompt files, tools, and a `writes` boundary (which files it may touch — a scope guard).
205
+
206
+ ---
207
+
208
+ ## 11. Seams & Infrastructure
209
+
210
+ - **MCP servers** standardize external tool access. Tool descriptions vary wildly in quality — centralize tool registration, auth, guardrails, and observability (NSR: `.compliance/` control plane; the embedded compliance skill's telemetry + WayOfTeams sync).
211
+ - **Agent/skill registries** index capabilities so agents can discover them (NSR: `.agents/skills/`).
212
+ - **Task queues / packets** are the standardized units of work entering the line.
213
+ - **CI/CD feedback loops** re-enter failing work; monitor alerts spawn incident agents.
214
+ - **Telemetry boundary**: agents write events; humans/dashboards poll them. One data path, no exceptions.
215
+
216
+ ---
217
+
218
+ ## 12. The NSR Working-with-Agents Playbook
219
+
220
+ A concrete, per-task checklist:
221
+
222
+ 1. **Open an envelope** — objective, non-goals, acceptance, capabilities, checks, evidence, rollback (typed JSON/YAML).
223
+ 2. **Check `FEATURES.md`** — is this already built? Don't duplicate.
224
+ 3. **Route to a feature skill** — pick the phase and the feature's `.agents/skills/features/<feature>/` scripts.
225
+ 4. **Let code own the run** — the harness sequences; gates decide (`$? == 0`); agents stay in their phase.
226
+ 5. **Verify independently** — run gates + tests; another model or a deterministic check judges the result.
227
+ 6. **Log it** — telemetry records tokens, latency, tool calls, cost for that phase.
228
+ 7. **Review by blast radius** — dev loop can auto-merge; production requires the human gate.
229
+ 8. **Feed the loop** — test failures re-trigger the same agent; incidents become new tickets.
230
+
231
+ ---
232
+
233
+ ## 13. One-Line Rules to Remember
234
+
235
+ - Agents read and decide; code sequences and verifies.
236
+ - If it can be a script, it must be a script.
237
+ - Context moves in envelopes, not conversation.
238
+ - Success must be earned; every phase defaults to fail.
239
+ - Verify with something independent of the producer.
240
+ - Autonomy = f(blast radius).
241
+ - Measure agents, or you can't improve them.
242
+ - Make failure visible.
243
+ - Repairs re-prompt the same session; they never restart cold.
244
+ - Vibe coding is not knowing how your system works, and not looking. Agentic engineering is knowing how your system works so well you don't have to look.
245
+
246
+ ---
247
+
248
+ ## 14. Sources
249
+
250
+ - disler / IndyDevDan — Super Simple Software Compliance: https://github.com/disler/super-simple-software-compliance
251
+ - INDY DevDan breakdown: https://www.youtube.com/watch?v=haUfb1ievTE
252
+ - Anthropic — multi-agent orchestration: https://www.anthropic.com/engineering/built-multi-agent-research-system
253
+ - Cole Murray — software compliance guide: https://murraycole.com/posts/software-compliance
254
+ - mager.co — Software Compliance: The End Goal of Agentic Engineering: https://www.mager.co/blog/2026-03-19-software-compliance/
255
+ - Compliance.ai — Inside the software compliance: https://compliance.ai/articles/what-is-a-software-compliance
256
+ - Plannotator — what is an AI software compliance: https://docs.plannotator.ai/learn/ai-development/what-is-an-ai-software-compliance
257
+ - StrongDM — dark compliance: https://www.strongdm.com/blog/the-strongdm-software-compliance-building-software-with-ai
258
+ - TrueFoundry — agentic enterprise guide / MCP gateway: https://www.truefoundry.com/blog/software-compliance-agentic-enterprise-guide
259
+ - GitClear — AI code quality research: https://www.gitclear.com/ai_assistant_code_quality_2025_research
260
+ - Wikipedia — Software compliance (history): https://en.wikipedia.org/wiki/Software_compliance
@@ -0,0 +1,38 @@
1
+ # AGENTS.md — __PROJECT__
2
+
3
+ __DESCRIPTION__. This file is the fluff-free router — read the referenced docs before acting.
4
+
5
+ ## Routing
6
+
7
+ - **`WayOfNorthstarRules.md`** — the canonical ruleset every project follows. Read first.
8
+ - **`ARCHITECTURE.md`** — system overview.
9
+ - **`STRUCTURE.md`** — repo tree map. Use it to find files without guessing.
10
+ - **`FEATURES.md`** — master feature registry (prevents duplication).
11
+ - **`TECH_STACK.md`** — what stack to use for what feature.
12
+ - **`RULES.md` / `RULES/`** — execution rules index + detail.
13
+ - **`docs/HOSTING/`** — hosting core info; never break production.
14
+ - **`docs/DEVELOPER_SETUP/`** — developer core setups.
15
+ - **`docs/CI_CD/deployment/`** — envs, per-client, per-tenant deployment configs.
16
+ - **`docs/working-with-agents.md`** — operating manual: how to work with agents.
17
+ - **`docs/project-skills.md`** — every skill this project ships (compliance-ready checklist).
18
+
19
+ ## Core Rules
20
+
21
+ 1. **Zero ad-hoc shell commands** — all operations via `.agents/skills/` scripts. No raw `npm test`, `git commit -m ...`, `kill -9`.
22
+ 2. **Env-driven config** — no hardcoded values; everything from `.env`/secret manager; secrets never committed.
23
+ 3. **Multi-deployment** — env tiers, per-client deployments, shared multi-tenant instances.
24
+ 4. **Relative paths only** — repo-root-relative; absolute paths forbidden (gated).
25
+ 5. **Cross-platform** — Mac, Linux, Windows (WSL/Git Bash); POSIX scripts.
26
+ 6. **Subfolder `AGENTS.md`** — every functional subfolder defines scoped rules.
27
+ 7. **No feature duplication** — register in `FEATURES.md`, ship scripts under `.agents/skills/features/<feature>/`.
28
+ 8. **Deterministic gates** — pass/fail by exit code (`$? == 0`), never text parsing.
29
+ 9. **Hosting & developer docs** — production hostings (`docs/HOSTING/`) and developers (`docs/DEVELOPER_SETUP/`) always documented.
30
+ 10. **Tech-stack discipline** — use `TECH_STACK.md`; one primary stack per feature.
31
+
32
+ ## Workflow
33
+
34
+ 1. Start at `STRUCTURE.md` to locate code; check `FEATURES.md` before building.
35
+ 2. Read `docs/working-with-agents.md` before dispatching any agent.
36
+ 3. Run operations via `.agents/skills/` scripts (lifecycle, git_ops, feature skills).
37
+ 4. Configure env via `docs/CI_CD/deployment/envs/*.env.example` → `.env`.
38
+ 5. Pass all gates (`.compliance/gates/*`) before committing or deploying.
@@ -0,0 +1,36 @@
1
+ # Architecture — __PROJECT__
2
+
3
+ High-level system overview. Detail lives in `docs/` and `docs/features/`.
4
+
5
+ ## System Layers
6
+
7
+ ```
8
+ CLIENTS / TENANTS
9
+
10
+ ┌──────────┴───────────┐
11
+ │ API / Services │
12
+ │ Frontend / Apps │
13
+ └──────────┬───────────┘
14
+
15
+ ┌─────┴─────┐
16
+ │ Data │
17
+ │ (DB) │
18
+ └───────────┘
19
+ ```
20
+
21
+ ## Components
22
+
23
+ - **API / services** — see `TECH_STACK.md` for the stack.
24
+ - **Frontend / apps** — see `TECH_STACK.md`.
25
+ - **Data layer** — schema, migrations, seed.
26
+ - **Deployments** — see `docs/CI_CD/deployment/` (envs, clients, tenants) and `docs/HOSTING/`.
27
+
28
+ ## Multi-Tenancy
29
+
30
+ - Tenant identity is dynamic (per-request), isolated at runtime.
31
+ - Per-client deployments (`docs/CI_CD/deployment/clients/<client>/`) are isolated.
32
+ - Shared multi-tenant instances isolate data by tenant at runtime.
33
+
34
+ ## Detail
35
+
36
+ Deep-dive specs live in `docs/` — `docs/features/` for features, `docs/research/` for background.
@@ -0,0 +1,27 @@
1
+ # Best Practices
2
+
3
+ Code quality, patterns & design guidelines index. Category-specific standards live in `docs/BEST_PRACTICES/` — this file is the index.
4
+
5
+ ## Categories (`docs/BEST_PRACTICES/`)
6
+
7
+ | File | Status | Domain |
8
+ |------|--------|--------|
9
+ | `api.md` | 🚧 Planned | REST/API design, versioning, error handling |
10
+ | `state-management.md` | 🚧 Planned | State patterns, immutability, data flow |
11
+ | `code-quality.md` | 🚧 Planned | Lint rules, naming, review checklists |
12
+ | `compliance-wiring.md` | ✅ Built | How to wire the compliance to a project's real procedures (start/stop/test/deploy per stack) |
13
+
14
+ ## Cross-Cutting Practices
15
+
16
+ - **Deterministic operations** — every action is a script in `.agents/skills/`; nothing is typed ad-hoc.
17
+ - **Exit-code discipline** — automation is judged by `$? == 0`, never by parsing text output.
18
+ - **Typed handoffs** — inter-agent communication uses JSON/YAML envelopes, not unstructured summaries.
19
+ - **Observability first** — every agent phase logs tokens, latency, tool calls, and cost.
20
+ - **Thin context routing** — agents ingest root routing files + subfolder `AGENTS.md` only; detail lives in sub-docs.
21
+ - **Doc-driven navigation** — use `STRUCTURE.md` to find files and `FEATURES.md` to avoid duplicate work.
22
+ - **Environment-driven everything** — no hardcoded config; inject via `.env`/secret manager; `.env.example` templates only.
23
+ - **Multi-tenant discipline** — tenant isolation at runtime; client identity is an env input, never baked into shared code.
24
+ - **Relative-path hygiene** — paths resolve from repo root; absolute paths are rejected by `check_paths.sh`.
25
+ - **Platform portability** — POSIX bash, forward slashes, LF endings (Mac/Linux/Windows) — validated by `check_platform.sh`.
26
+ - **Stack consistency** — follow `TECH_STACK.md`; one primary stack per feature; pin versions.
27
+ - **Docs-before-production** — every hosting (`docs/HOSTING/`) and developer (`docs/DEVELOPER_SETUP/`) documented before going live.
@@ -0,0 +1,23 @@
1
+ # CI/CD — __PROJECT__
2
+
3
+ Pipeline overview. Detail in `docs/CI_CD/`.
4
+
5
+ ## Stages
6
+
7
+ 1. **Build** — validate structure & docs.
8
+ 2. **Test** — run gates + scripted test suites.
9
+ 3. **Release** — versioning & promotion.
10
+ 4. **Deploy** — env-driven rollout per env tier, per client, per tenant (`docs/CI_CD/deployment/`).
11
+
12
+ ## Compliance Gates
13
+
14
+ - `.compliance/gates/check_env.sh` — required env vars present.
15
+ - `.compliance/gates/check_paths.sh` — no absolute paths.
16
+ - `.compliance/gates/check_platform.sh` — POSIX-portable.
17
+ - `.agents/skills/NSRcompliance/gates/verify_docs.py` — docs in sync.
18
+ - `.agents/skills/NSRcompliance/gates/validate_code.sh` — runs all gates; `$? == 0`.
19
+
20
+ ## Rules
21
+
22
+ - CI never hardcodes values or secrets; deploy via `deploy.sh --env <env> --target <client|tenant>`.
23
+ - Every deploy runs `check_env.sh → check_paths.sh → check_platform.sh` then `validate_code.sh` before production.
@@ -0,0 +1,15 @@
1
+ # Features — __PROJECT__
2
+
3
+ Master registry. No feature may be implemented without being registered here, and every registered feature ships automation under `.agents/skills/features/<feature>/`.
4
+
5
+ ## Registered Features
6
+
7
+ | Status | Feature | Description | Skill Dir |
8
+ |--------|---------|-------------|-----------|
9
+ | 🚧 Planned | *(add feature)* | *(description)* | `.agents/skills/features/<feature>/` |
10
+
11
+ ## Rules
12
+
13
+ - Every feature has a matching skill directory under `.agents/skills/features/`.
14
+ - Every feature maps to a stack in `TECH_STACK.md`.
15
+ - Keep in sync via `.compliance/gates/verify_docs.py`.
@@ -0,0 +1,22 @@
1
+ # __PROJECT__
2
+
3
+ __DESCRIPTION__.
4
+
5
+ Built by a distributed team on Mac, Linux, and Windows, shipped via the WayOfNorthStar ruleset.
6
+
7
+ ## Quick Start
8
+
9
+ 1. Read `AGENTS.md` → `ARCHITECTURE.md` → `STRUCTURE.md`.
10
+ 2. Copy `docs/CI_CD/deployment/envs/development.env.example` → `.env`; inject values.
11
+ 3. Start: `.agents/skills/lifecycle/start.sh`.
12
+ 4. Verify: `.compliance/gates/check_env.sh`, `check_paths.sh`, `check_platform.sh`.
13
+
14
+ ## Docs
15
+
16
+ - Features: `FEATURES.md` + `docs/features/`
17
+ - Hosting: `docs/HOSTING/`
18
+ - Developer setup: `docs/DEVELOPER_SETUP/`
19
+ - Stack mapping: `TECH_STACK.md`
20
+ - Deployments: `docs/CI_CD/deployment/`
21
+ - Work with agents: `docs/working-with-agents.md`
22
+ - Project skills: `docs/project-skills.md`
@@ -0,0 +1,37 @@
1
+ # Rules — __PROJECT__
2
+
3
+ Core enforcement & execution rules. Detail lives in `RULES/`.
4
+
5
+ ## Non-Negotiable Core Rules
6
+
7
+ 1. **Dual-layer docs** — root routing files are fluff-free; detail in `RULES/` and under `docs/`.
8
+ 2. **Zero ad-hoc shell commands** — every op via `.agents/skills/` scripts.
9
+ 3. **Env-driven config** — no hardcoded values; secrets never committed.
10
+ 4. **Multi-deployment + multi-tenant** — env tiers, per-client, shared tenants.
11
+ 5. **Relative paths only** — gated by `check_paths.sh`.
12
+ 6. **Cross-platform** — POSIX, forward slashes, LF; gated by `check_platform.sh`.
13
+ 7. **Deterministic harness** — Core Four config, `$? == 0` gates, typed envelopes, telemetry.
14
+ 8. **No feature duplication** — `FEATURES.md` registry + skill dirs.
15
+ 9. **Subfolder `AGENTS.md`** — scoped boundaries per folder.
16
+ 10. **Hosting/developer docs** — `docs/HOSTING/`, `docs/DEVELOPER_SETUP/` always current.
17
+ 11. **Tech-stack discipline** — `TECH_STACK.md`, one primary stack per feature.
18
+ 12. **Work with agents per `docs/working-with-agents.md`** — bounded nodes, code owns the graph.
19
+ 13. **Ship the `docs/project-skills.md` skill set** before compliance-ready.
20
+
21
+ ## Rule Files (`RULES/`)
22
+
23
+ | File | Status | Domain |
24
+ |------|--------|--------|
25
+ | `security.md` | ✅ | Access control, secrets, tenant isolation |
26
+ | `git-workflow.md` | ✅ | Branching, commits, PR gate |
27
+ | `tech-stack.md` | ✅ | One primary stack per feature, pinned versions |
28
+
29
+ ## Mandatory Script Domains (per feature)
30
+
31
+ | Domain | Files | Responsibility |
32
+ |--------|-------|----------------|
33
+ | Lifecycle | `start.sh`, `stop.sh`, `status.sh` | Predictable spin-up/teardown |
34
+ | Testing | `test.sh`, `smoke_test.sh` | Targeted suites + smoke checks |
35
+ | Data & Setup | `setup.sh`, `seed.sh`, `migrate.sh` | Deterministic state prep |
36
+ | Source Control | `safe_commit.sh`, `sync.sh` | Safe git operations |
37
+ | Diagnostics | `audit.sh`, `logs.sh` | Health & telemetry |
@@ -0,0 +1,45 @@
1
+ # Structure — __PROJECT__
2
+
3
+ Repository tree map. Use this to navigate directly without unguided searching.
4
+
5
+ ```
6
+ ├── AGENTS.md # Root routing & core rules (fluff-free)
7
+ ├── ARCHITECTURE.md # High-level system overview
8
+ ├── STRUCTURE.md # This file — tree map
9
+ ├── FEATURES.md # Master feature registry
10
+ ├── RULES.md # Execution rules index (detail in RULES/)
11
+ ├── BEST_PRACTICES.md # Design guidelines index (detail in docs/BEST_PRACTICES/)
12
+ ├── CI_CD.md # Pipeline overview (detail in docs/CI_CD/)
13
+ ├── TECH_STACK.md # Stack-to-feature mapping
14
+ ├── README.md # Product overview
15
+
16
+ ├── RULES/ # Execution & domain rules
17
+ ├── docs/ # Granular documentation
18
+ │ ├── BEST_PRACTICES/ # Engineering standards
19
+ │ ├── CI_CD/ # Pipeline configs + deployment/
20
+ │ │ └── deployment/ # envs/, clients/, tenants/, deploy.sh
21
+ │ ├── DEVELOPER_SETUP/ # Per-developer setup (consolidated + developers/)
22
+ │ ├── HOSTING/ # Per-hosting core info (consolidated + per-host)
23
+ │ ├── RUNBOOK/ # deployment.md, disaster-recovery.md, ops-tasks.md
24
+ │ ├── features/ # Per-feature deep-dive specs
25
+ │ └── research/ # Research sources
26
+
27
+ ├── src/ # Application source (add as needed)
28
+ ├── tests/ # Test suites (invoked via .agents/skills)
29
+
30
+ ├── .agents/
31
+ │ └── skills/ # Scripted automation layer
32
+ │ ├── lifecycle/ # start.sh, stop.sh, status.sh, smoke_test.sh
33
+ │ ├── git_ops/ # create_branch.sh, safe_commit.sh, sync_upstream.sh
34
+ │ ├── features/ # <feature>/ (setup, test, smoke_test, rollback)
35
+ │ └── compliance/ # Embedded Agent Skill Compliance
36
+
37
+ └── .compliance/ # Deterministic harness engine
38
+ ├── config/ # core_four.yaml
39
+ ├── gates/ # check_env.sh, check_paths.sh, check_platform.sh
40
+ ├── harness/ # runner.py + envelopes/
41
+ ├── telemetry/ # logger.py
42
+ └── installer/ # install.sh
43
+ ```
44
+
45
+ **Directory rule:** every functional subfolder must contain a local `AGENTS.md`.
@@ -0,0 +1,28 @@
1
+ # Tech Stack — __PROJECT__
2
+
3
+ Authoritative stack-to-feature mapping. One primary stack per feature; pin versions.
4
+
5
+ ## Stack Registry
6
+
7
+ | Layer | Technology | Version | Used For |
8
+ |-------|-----------|---------|----------|
9
+ | Language | *(fill)* | | |
10
+ | Backend framework | *(fill)* | | |
11
+ | Frontend framework | *(fill)* | | |
12
+ | Database | *(fill)* | | |
13
+ | Cache | *(fill)* | | |
14
+ | Auth | *(fill)* | | |
15
+ | Container | Docker | 24.x | Runtime, CI |
16
+ | Observability | *(fill)* | | |
17
+
18
+ ## Feature → Stack Mapping
19
+
20
+ | Feature | Stack | Constraints |
21
+ |---------|-------|-------------|
22
+ | *(feature)* | *(stack)* | *(constraints)* |
23
+
24
+ ## Rules
25
+
26
+ - Pin versions; no floating/latest in production.
27
+ - No new stack without updating this file AND `FEATURES.md`.
28
+ - Stacks must run on Mac/Linux/Windows (or be containerized).
@@ -0,0 +1,63 @@
1
+ ---
2
+ name: NSR
3
+ description: Scaffold and validate a new Way-Of NorthStar (NSR) complaint repository/project. Use when creating a new project/repo, converting an existing repo to the NorthStar layout, or auditing a repo for NSR compliance. Installs the full dual-layer docs layout, .agents/skills automation layer, and .compliance deterministic harness, then runs compliance gates.
4
+ allowed-tools:
5
+ - run_shell_command
6
+ - run_bash_command
7
+ - edit
8
+ - write
9
+ ---
10
+
11
+ # SKILL.md — NSR (WayOfNorthStarRules)
12
+
13
+ **Scaffold new projects and audit existing ones against the WayOfNorthStar Ruleset.**
14
+
15
+ The skill is self-contained: it carries every template (`assets/`) and every automation script (`scripts/`) needed to create a fully compliant NSR repository and gate it.
16
+
17
+ ## When to Use
18
+
19
+ 1. **Creating a new project** — from a blank folder to a complete NSR repo.
20
+ 2. **Converting a legacy repo** — adopt the NorthStar layout + harness onto an existing codebase.
21
+ 3. **Auditing compliance** — run the gates and report what's missing.
22
+
23
+ ## Key Files
24
+
25
+ - `WayOfNorthstarRules.md` — the master spec (source of truth). Read before scaffolding when a rule is in question.
26
+ - `assets/root/` — root routing file templates (AGENTS.md, ARCHITECTURE.md, STRUCTURE.md, FEATURES.md, RULES.md, BEST_PRACTICES.md, CI_CD.md, TECH_STACK.md, README.md, .gitignore).
27
+ - `assets/RULES/` — execution & enforcement rule templates (kept at root).
28
+ - `assets/docs/` — the granular docs tree (BEST_PRACTICES, CI_CD, DEVELOPER_SETUP, HOSTING, RUNBOOK, features, research).
29
+ - `assets/agents_skills/` — the `.agents/skills/` automation layer templates (incl. the self-contained compliance skill that generates `.compliance/`).
30
+ - `assets/compliance/` — legacy `.compliance/` template tree (fallback stamp; the compliance skill's `generate.sh` is canonical).
31
+ - `scripts/` — scaffold.sh (create/convert), validate.sh (audit).
32
+
33
+ ## Workflow
34
+
35
+ 1. **Confirm scope** — new blank project, or conversion of an existing repo?
36
+ 2. **Run the scaffolder:**
37
+ ```bash
38
+ .agents/skills/NSR/scripts/scaffold.sh /path/to/project --name "ProjectName" --description "What it does"
39
+ ```
40
+ - Creates the full NSR tree from templates (project name/description substituted).
41
+ - Installs `.agents/skills/` and generates `.compliance/` via the compliance skill (`generate.sh`), with runnable gates + `WIRE ME` stub scripts.
42
+ - Runs `validate.sh` as a post-condition.
43
+ 3. **Convert existing repo (optional):** run the same scaffolder over the existing repo — it creates only missing folders/files and never overwrites existing ones.
44
+ 4. **Author the skill layer** — fill feature dirs under `.agents/skills/features/<feature>/` for every feature in FEATURES.md (setup/test/smoke_test/rollback stubs are provided).
45
+ 5. **Wire the compliance to the project** — replace `WIRE ME` stubs in `.agents/skills/lifecycle/` and per feature with the app's real commands (delegate + protect; never rewrite). Add `# gate: dev|guard|human` to destructive scripts. Prove it: `.compliance/gates/check_wiring.sh --strict` and `.compliance/gates/check_danger.sh`. Walkthrough: `docs/BEST_PRACTICES/compliance-wiring.md`.
46
+ 6. **Configure environments** — create `.env.example` templates for env tiers, per-client, and tenant deployments under `docs/CI_CD/deployment/`.
47
+ 7. **Document hosting & developers** — fill `docs/HOSTING/` and `docs/DEVELOPER_SETUP/` (one explicit doc per hosting & per developer).
48
+ 8. **Audit:**
49
+ ```bash
50
+ .agents/skills/NSR/scripts/validate.sh /path/to/project
51
+ ```
52
+ Runs every gate (env, paths, platform, docs, structure) and reports pass/fail.
53
+
54
+ ## Referenced Rules (Non-Negotiable)
55
+
56
+ - Root routing files are fluff-free; ALL granular detail lives under `docs/` (only `RULES/` stays at root).
57
+ - Zero ad-hoc shell commands — all ops via `.agents/skills/` scripts.
58
+ - Env-driven config — no hardcoded values, secrets never committed.
59
+ - Multi-deployment (env tiers + per-client + multi-tenant).
60
+ - Relative paths only (gated); cross-platform Mac/Linux/Windows (gated).
61
+ - Every hosting (`docs/HOSTING/`) and every developer (`docs/DEVELOPER_SETUP/`) documented.
62
+ - TECH_STACK.md maps every feature to a pinned stack.
63
+ - Deterministic gates pass/fail by exit code (`$? == 0`).