@zerwiz/ymir 0.1.3 → 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.
- package/.agents/README.md +291 -0
- package/.agents/agents/bragi-marketer.md +111 -0
- package/.agents/agents/brokk.md +352 -0
- package/.agents/agents/forseti-reviewer.md +93 -0
- package/.agents/agents/frigg-consent.md +77 -0
- package/.agents/agents/groa-update.md +77 -0
- package/.agents/agents/hnoss-designer.md +69 -0
- package/.agents/agents/huginn-researcher.md +99 -0
- package/.agents/agents/jord-projects.md +78 -0
- package/.agents/agents/kvasir-scout.md +91 -0
- package/.agents/agents/mimir-planner.md +92 -0
- package/.agents/agents/muninn-stow.md +77 -0
- package/.agents/agents/saga-bearings.md +78 -0
- package/.agents/agents/sindri-developer.md +114 -0
- package/.agents/agents/snotra-documenter.md +105 -0
- package/.agents/agents/syn-recovery.md +78 -0
- package/.agents/agents/tyr-check.md +78 -0
- package/.agents/agents/urdh-hold.md +77 -0
- package/.agents/agents/volundr-smith.md +80 -0
- package/.agents/agents/vor-diagnostics.md +77 -0
- package/.agents/assets/agents/naming.md +50 -0
- package/.agents/assets/agents/registry.md +93 -0
- package/.agents/assets/agents/runtime.md +36 -0
- package/.agents/assets/agents/toon-tasks-cli.md +42 -0
- package/.agents/assets/templates/company_entity.template.md +37 -0
- package/.agents/backend/backends/cmux.sh +649 -0
- package/.agents/backend/backends/herdr-eventwait.py +157 -0
- package/.agents/backend/backends/herdr-workspace-move.py +114 -0
- package/.agents/backend/backends/herdr.sh +3386 -0
- package/.agents/backend/backends/orca.sh +290 -0
- package/.agents/backend/backends/tmux.sh +357 -0
- package/.agents/backend/backends/zellij.sh +700 -0
- package/.agents/backend/fm-afk-launch.sh +654 -0
- package/.agents/backend/fm-afk-return.sh +241 -0
- package/.agents/backend/fm-afk-start.sh +172 -0
- package/.agents/backend/fm-arm-command-policy.mjs +960 -0
- package/.agents/backend/fm-arm-pretool-check.sh +200 -0
- package/.agents/backend/fm-backend-hometag-lib.sh +52 -0
- package/.agents/backend/fm-backend.sh +981 -0
- package/.agents/backend/fm-backlog-handoff.sh +909 -0
- package/.agents/backend/fm-backlog-receive.sh +187 -0
- package/.agents/backend/fm-backlog-transition-lib.sh +779 -0
- package/.agents/backend/fm-bearings-board.sh +204 -0
- package/.agents/backend/fm-bearings-snapshot.sh +546 -0
- package/.agents/backend/fm-bootstrap.sh +1568 -0
- package/.agents/backend/fm-branch-outcome.sh +203 -0
- package/.agents/backend/fm-branch-prompt.sh +101 -0
- package/.agents/backend/fm-brief.sh +452 -0
- package/.agents/backend/fm-busy-event.sh +234 -0
- package/.agents/backend/fm-busy-lib.sh +986 -0
- package/.agents/backend/fm-captain-hold.sh +1001 -0
- package/.agents/backend/fm-cd-command-policy.mjs +153 -0
- package/.agents/backend/fm-cd-pretool-check.sh +190 -0
- package/.agents/backend/fm-check-lib.sh +74 -0
- package/.agents/backend/fm-check-register.sh +42 -0
- package/.agents/backend/fm-check-unregister.sh +52 -0
- package/.agents/backend/fm-classify-lib.sh +1770 -0
- package/.agents/backend/fm-claude-stop-autoarm.sh +334 -0
- package/.agents/backend/fm-composer-lib.sh +1416 -0
- package/.agents/backend/fm-config-inherit-lib.sh +1202 -0
- package/.agents/backend/fm-config-push.sh +254 -0
- package/.agents/backend/fm-control-lib.sh +251 -0
- package/.agents/backend/fm-control.sh +878 -0
- package/.agents/backend/fm-crew-state.sh +625 -0
- package/.agents/backend/fm-cursor-lib.sh +243 -0
- package/.agents/backend/fm-decision-hold.sh +232 -0
- package/.agents/backend/fm-doc-audience-check.sh +269 -0
- package/.agents/backend/fm-dod-lib.sh +67 -0
- package/.agents/backend/fm-ensure-agents-md.sh +253 -0
- package/.agents/backend/fm-extension-launch-barrier.mjs +129 -0
- package/.agents/backend/fm-extension.mjs +2577 -0
- package/.agents/backend/fm-extension.sh +16 -0
- package/.agents/backend/fm-ff-lib.sh +420 -0
- package/.agents/backend/fm-fleet-snapshot.sh +1463 -0
- package/.agents/backend/fm-fleet-sync.sh +458 -0
- package/.agents/backend/fm-fleet-view.sh +96 -0
- package/.agents/backend/fm-gate-refuse-lib.sh +102 -0
- package/.agents/backend/fm-guard.sh +242 -0
- package/.agents/backend/fm-harness.sh +195 -0
- package/.agents/backend/fm-herdr-ci-cleanup.sh +115 -0
- package/.agents/backend/fm-herdr-lab.sh +346 -0
- package/.agents/backend/fm-herdr-session-cleanup.sh +337 -0
- package/.agents/backend/fm-home-seed.sh +984 -0
- package/.agents/backend/fm-home-summary-refresh.sh +255 -0
- package/.agents/backend/fm-hook-host-lib.sh +36 -0
- package/.agents/backend/fm-inactive-reconcile.sh +531 -0
- package/.agents/backend/fm-inbox.sh +399 -0
- package/.agents/backend/fm-install-actionlint.sh +84 -0
- package/.agents/backend/fm-install-herdr.sh +96 -0
- package/.agents/backend/fm-install-shellcheck.sh +84 -0
- package/.agents/backend/fm-install-treehouse.sh +95 -0
- package/.agents/backend/fm-kimi-turnend-hook.sh +276 -0
- package/.agents/backend/fm-lease-lib.sh +218 -0
- package/.agents/backend/fm-lease.sh +189 -0
- package/.agents/backend/fm-line-cap-lib.sh +51 -0
- package/.agents/backend/fm-lint-workflows.sh +137 -0
- package/.agents/backend/fm-lint.sh +591 -0
- package/.agents/backend/fm-lock-lib.sh +104 -0
- package/.agents/backend/fm-lock.sh +107 -0
- package/.agents/backend/fm-marker-lib.sh +12 -0
- package/.agents/backend/fm-merge-local.sh +74 -0
- package/.agents/backend/fm-merge-outcome-lib.sh +138 -0
- package/.agents/backend/fm-nm-run-lib.sh +124 -0
- package/.agents/backend/fm-on.sh +125 -0
- package/.agents/backend/fm-operational-input.sh +253 -0
- package/.agents/backend/fm-peek.sh +46 -0
- package/.agents/backend/fm-pending-reply-lib.sh +1409 -0
- package/.agents/backend/fm-pr-check.sh +135 -0
- package/.agents/backend/fm-pr-lib.sh +1016 -0
- package/.agents/backend/fm-pr-merge.sh +707 -0
- package/.agents/backend/fm-pr-poll.sh +110 -0
- package/.agents/backend/fm-primary-scope-lib.sh +33 -0
- package/.agents/backend/fm-procevent-extension-capture.pl +259 -0
- package/.agents/backend/fm-procevent-lavish.sh +628 -0
- package/.agents/backend/fm-procevent-lib.sh +892 -0
- package/.agents/backend/fm-procevent-quota.sh +290 -0
- package/.agents/backend/fm-procevent-remote-reply.sh +577 -0
- package/.agents/backend/fm-procevent-when.sh +504 -0
- package/.agents/backend/fm-procevent.sh +1466 -0
- package/.agents/backend/fm-project-mode.sh +92 -0
- package/.agents/backend/fm-project-origin-lib.sh +180 -0
- package/.agents/backend/fm-promote.sh +282 -0
- package/.agents/backend/fm-public-followup-emit.sh +260 -0
- package/.agents/backend/fm-public-followup-lib.sh +398 -0
- package/.agents/backend/fm-public-followup.sh +1330 -0
- package/.agents/backend/fm-push-transition-lib.sh +168 -0
- package/.agents/backend/fm-quota-axi-lib.sh +93 -0
- package/.agents/backend/fm-quota-choose.sh +384 -0
- package/.agents/backend/fm-remote-delta-read.sh +189 -0
- package/.agents/backend/fm-remote-doctor.sh +800 -0
- package/.agents/backend/fm-remote-entrypoint.sh +193 -0
- package/.agents/backend/fm-remote-file.sh +234 -0
- package/.agents/backend/fm-remote-home-provision.sh +259 -0
- package/.agents/backend/fm-remote-home-seed.sh +259 -0
- package/.agents/backend/fm-remote-inherit-push.sh +90 -0
- package/.agents/backend/fm-remote-inherit.sh +179 -0
- package/.agents/backend/fm-remote-job-lib.sh +1241 -0
- package/.agents/backend/fm-remote-job-reap-orphans.sh +137 -0
- package/.agents/backend/fm-remote-job-worker.sh +1124 -0
- package/.agents/backend/fm-remote-readiness-lib.sh +44 -0
- package/.agents/backend/fm-remote-secondmate-control.sh +340 -0
- package/.agents/backend/fm-review-diff.sh +158 -0
- package/.agents/backend/fm-secondmate-charter-lib.sh +44 -0
- package/.agents/backend/fm-secondmate-nudge-lib.sh +68 -0
- package/.agents/backend/fm-secondmate-parent-lib.sh +70 -0
- package/.agents/backend/fm-secondmate-reconcile.sh +371 -0
- package/.agents/backend/fm-secondmate-registry-lib.sh +311 -0
- package/.agents/backend/fm-secondmate-report.sh +88 -0
- package/.agents/backend/fm-send.sh +1059 -0
- package/.agents/backend/fm-session-lock-lib.sh +176 -0
- package/.agents/backend/fm-session-start.sh +970 -0
- package/.agents/backend/fm-sessionstart-cursor.sh +40 -0
- package/.agents/backend/fm-sessionstart-nudge.sh +45 -0
- package/.agents/backend/fm-sessionstart-run.sh +145 -0
- package/.agents/backend/fm-spawn.sh +3153 -0
- package/.agents/backend/fm-startup-memory-budget-lib.sh +224 -0
- package/.agents/backend/fm-startup-memory-budget.sh +94 -0
- package/.agents/backend/fm-startup-network.sh +642 -0
- package/.agents/backend/fm-stow-cascade.sh +251 -0
- package/.agents/backend/fm-subagent-pretool-check.sh +207 -0
- package/.agents/backend/fm-supervise-daemon.sh +1732 -0
- package/.agents/backend/fm-supervision-instructions.sh +215 -0
- package/.agents/backend/fm-supervision-lib.sh +90 -0
- package/.agents/backend/fm-supervisor-target-lib.sh +78 -0
- package/.agents/backend/fm-tangle-lib.sh +53 -0
- package/.agents/backend/fm-task-inbox-lib.sh +402 -0
- package/.agents/backend/fm-tasks-axi-lib.sh +123 -0
- package/.agents/backend/fm-teardown.sh +2922 -0
- package/.agents/backend/fm-test-isolation-proof.sh +588 -0
- package/.agents/backend/fm-test-run.sh +2191 -0
- package/.agents/backend/fm-timeout-lib.sh +141 -0
- package/.agents/backend/fm-timing-lib.sh +179 -0
- package/.agents/backend/fm-tmux-lib.sh +291 -0
- package/.agents/backend/fm-tool-update-check.sh +898 -0
- package/.agents/backend/fm-trace-context-lib.sh +227 -0
- package/.agents/backend/fm-transition-lib.sh +103 -0
- package/.agents/backend/fm-turnend-guard-cursor.sh +391 -0
- package/.agents/backend/fm-turnend-guard-grok.sh +90 -0
- package/.agents/backend/fm-turnend-guard.sh +432 -0
- package/.agents/backend/fm-update.sh +110 -0
- package/.agents/backend/fm-vendor-auth-probe.sh +190 -0
- package/.agents/backend/fm-voice-client.py +1373 -0
- package/.agents/backend/fm-voice-relay.py +1256 -0
- package/.agents/backend/fm-wake-drain.sh +592 -0
- package/.agents/backend/fm-wake-grant.sh +127 -0
- package/.agents/backend/fm-wake-lib.sh +1849 -0
- package/.agents/backend/fm-watch-arm.sh +602 -0
- package/.agents/backend/fm-watch-checkpoint.sh +109 -0
- package/.agents/backend/fm-watch.sh +1962 -0
- package/.agents/backend/fm-x-dismiss.sh +116 -0
- package/.agents/backend/fm-x-followup.sh +286 -0
- package/.agents/backend/fm-x-lib.sh +1000 -0
- package/.agents/backend/fm-x-link.sh +234 -0
- package/.agents/backend/fm-x-poll.sh +185 -0
- package/.agents/backend/fm-x-reply.sh +385 -0
- package/.agents/backend/fm_voice_frame.py +166 -0
- package/.agents/backend/fm_voice_records.py +574 -0
- package/.agents/backend/model-bridge.py +290 -0
- package/.agents/backend/opencode-go-bridge.py +30 -0
- package/.agents/bus/README.md +12 -0
- package/.agents/bus/messages.json +1 -0
- package/.agents/config/agents.machine.example.yaml +16 -0
- package/.agents/config/agents.yaml +50 -0
- package/.agents/config/agents.yaml.example +72 -0
- package/.agents/config/crew-dispatch.json +22 -0
- package/.agents/config/cron.yaml +9 -0
- package/.agents/config/eindri-dispatch.json +67 -0
- package/.agents/config/eindri-harness +1 -0
- package/.agents/config/startup-memory-budget +1 -0
- package/.agents/config/tailscale-sync.yaml +27 -0
- package/.agents/filebrowser/.filebrowser.json +6 -0
- package/.agents/filebrowser/README.md +11 -0
- package/.agents/gateway/README.md +12 -0
- package/.agents/github/README.md +15 -0
- package/.agents/github/webhooks/.gitkeep +0 -0
- package/.agents/github/workflows/.gitkeep +0 -0
- package/.agents/harness/opencode/plugins/lib/rodd-operational-input.js +37 -0
- package/.agents/harness/opencode/plugins/package.json +4 -0
- package/.agents/harness/opencode/plugins/saga-sessionstart.js +77 -0
- package/.agents/harness/opencode/plugins/syn-cd-check.js +61 -0
- package/.agents/harness/opencode/plugins/syn-pretool-check.js +68 -0
- package/.agents/harness/opencode/plugins/syn-turnend-guard.js +105 -0
- package/.agents/harness/opencode/plugins/syn-watch-arm.js +521 -0
- package/.agents/memory/README.md +46 -0
- package/.agents/memory/kaia.engram +0 -0
- package/.agents/memory/kaia.engram-shm +0 -0
- package/.agents/memory/kaia.engram-wal +0 -0
- package/.agents/memory/runes_audit.md +5 -0
- package/.agents/memory/well/episodes.jsonl +367 -0
- package/.agents/memory/well/workspace.jsonl +27 -0
- package/.agents/migrations/0001-hodd-layout.sh +38 -0
- package/.agents/migrations/0002-a2a-mcp.sh +27 -0
- package/.agents/migrations/0003-private-data-separation.sh +111 -0
- package/.agents/migrations/0004-hoard-and-realms.sh +104 -0
- package/.agents/sandbox/Dockerfile.utgard +19 -0
- package/.agents/sandbox/README.md +14 -0
- package/.agents/sandbox/utgard.config.json +14 -0
- package/.agents/skills/README.md +59 -0
- package/.agents/skills/bragi-marketing/README.md +3 -0
- package/.agents/skills/bragi-marketing/SKILL.md +82 -0
- package/.agents/skills/eindri-homes/README.md +3 -0
- package/.agents/skills/eindri-homes/SKILL.md +291 -0
- package/.agents/skills/eindri-homes/assets/control-plane.md +122 -0
- package/.agents/skills/eindri-homes/assets/dispatch.md +80 -0
- package/.agents/skills/frigg-consent/README.md +3 -0
- package/.agents/skills/frigg-consent/SKILL.md +56 -0
- package/.agents/skills/galdr-ymirsystem/README.md +3 -0
- package/.agents/skills/galdr-ymirsystem/SKILL.md +158 -0
- package/.agents/skills/galdr-ymirsystem/assets/README.md +74 -0
- package/.agents/skills/galdr-ymirsystem/assets/brokk-distro-runtime.md +390 -0
- package/.agents/skills/galdr-ymirsystem/assets/build-method.md +113 -0
- package/.agents/skills/galdr-ymirsystem/assets/build-tool-categories.md +178 -0
- package/.agents/skills/galdr-ymirsystem/assets/eindri-orchestration.md +518 -0
- package/.agents/skills/galdr-ymirsystem/assets/eindri-profiles.md +136 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/README.md +673 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/claude-code.md +197 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/codex.md +191 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/cursor.md +193 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/opencode.md +262 -0
- package/.agents/skills/galdr-ymirsystem/assets/harness-integration/pi.md +295 -0
- package/.agents/skills/galdr-ymirsystem/assets/hlidskjalf-ui.md +496 -0
- package/.agents/skills/galdr-ymirsystem/assets/installation.md +571 -0
- package/.agents/skills/galdr-ymirsystem/assets/local-models/HOST-DATA.example.md +72 -0
- package/.agents/skills/galdr-ymirsystem/assets/local-models.md +274 -0
- package/.agents/skills/galdr-ymirsystem/assets/memory-well.md +161 -0
- package/.agents/skills/galdr-ymirsystem/assets/nornir-jobs.md +377 -0
- package/.agents/skills/galdr-ymirsystem/assets/norse-naming.md +325 -0
- package/.agents/skills/galdr-ymirsystem/assets/odrerir-hall.md +129 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/einherjar-spawn.schema.json +81 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/herdr-profile.toml +75 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/pi-profile.yml +96 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot/supervision-tree.yml +163 -0
- package/.agents/skills/galdr-ymirsystem/assets/pi-boot-guide.md +58 -0
- package/.agents/skills/galdr-ymirsystem/assets/porting-upstream-to-norse.md +301 -0
- package/.agents/skills/galdr-ymirsystem/assets/principles.md +385 -0
- package/.agents/skills/galdr-ymirsystem/assets/reference-adoption.md +99 -0
- package/.agents/skills/galdr-ymirsystem/assets/registry.md +379 -0
- package/.agents/skills/galdr-ymirsystem/assets/runtime-compliance.md +463 -0
- package/.agents/skills/galdr-ymirsystem/assets/runtime-components.md +553 -0
- package/.agents/skills/galdr-ymirsystem/assets/smidja.md +175 -0
- package/.agents/skills/galdr-ymirsystem/schemas/toon-schemas.md +190 -0
- package/.agents/skills/galdr-ymirsystem/scripts/README.md +45 -0
- package/.agents/skills/galdr-ymirsystem/scripts/bench-one.sh +248 -0
- package/.agents/skills/galdr-ymirsystem/scripts/compliance-check.sh +360 -0
- package/.agents/skills/galdr-ymirsystem/scripts/gpu-sample.sh +43 -0
- package/.agents/skills/galdr-ymirsystem/scripts/stop-all.sh +34 -0
- package/.agents/skills/galdr-ymirsystem/scripts/toon-check.py +188 -0
- package/.agents/skills/gjallarhorn-relay/README.md +3 -0
- package/.agents/skills/gjallarhorn-relay/SKILL.md +283 -0
- package/.agents/skills/groa-update/SKILL.md +70 -0
- package/.agents/skills/hamr-adapters/README.md +3 -0
- package/.agents/skills/hamr-adapters/SKILL.md +123 -0
- package/.agents/skills/hamr-adapters/references/common/control-and-recovery.md +37 -0
- package/.agents/skills/hamr-adapters/references/common/dispatch.md +32 -0
- package/.agents/skills/hamr-adapters/references/common/model-and-effort.md +42 -0
- package/.agents/skills/hamr-adapters/references/common/primary-hooks.md +40 -0
- package/.agents/skills/hamr-adapters/references/harness/claude.md +55 -0
- package/.agents/skills/hamr-adapters/references/harness/codex.md +43 -0
- package/.agents/skills/hamr-adapters/references/harness/cursor.md +75 -0
- package/.agents/skills/hamr-adapters/references/harness/grok.md +69 -0
- package/.agents/skills/hamr-adapters/references/harness/kimi.md +51 -0
- package/.agents/skills/hamr-adapters/references/harness/muse.md +70 -0
- package/.agents/skills/hamr-adapters/references/harness/opencode.md +42 -0
- package/.agents/skills/hamr-adapters/references/harness/pi.md +56 -0
- package/.agents/skills/herdr-panes/README.md +3 -0
- package/.agents/skills/herdr-panes/SKILL.md +92 -0
- package/.agents/skills/herdr-panes/assets/herdr-backend.md +346 -0
- package/.agents/skills/herdr-panes/assets/tmux-backend.md +115 -0
- package/.agents/skills/hnoss-design/DESIGN.md +19 -0
- package/.agents/skills/hnoss-design/README.md +3 -0
- package/.agents/skills/hnoss-design/SKILL.md +83 -0
- package/.agents/skills/hvild-afk/README.md +3 -0
- package/.agents/skills/hvild-afk/SKILL.md +241 -0
- package/.agents/skills/jord-projects/README.md +3 -0
- package/.agents/skills/jord-projects/SKILL.md +92 -0
- package/.agents/skills/lifecycle/SKILL.md +56 -0
- package/.agents/skills/lifecycle/smoke_test.sh +52 -0
- package/.agents/skills/lifecycle/start.sh +21 -0
- package/.agents/skills/lifecycle/status.sh +35 -0
- package/.agents/skills/lifecycle/stop.sh +16 -0
- package/.agents/skills/muninn-stow/README.md +3 -0
- package/.agents/skills/muninn-stow/SKILL.md +309 -0
- package/.agents/skills/no-mistakes/SKILL.md +379 -0
- package/.agents/skills/nornir-schedule/README.md +3 -0
- package/.agents/skills/nornir-schedule/SKILL.md +25 -0
- package/.agents/skills/nornir-schedule/assets/events.md +137 -0
- package/.agents/skills/nornir-schedule/assets/quota.md +131 -0
- package/.agents/skills/nsr-compliance/README.md +3 -0
- package/.agents/skills/nsr-compliance/SKILL.md +29 -0
- package/.agents/skills/nsr-compliance/assets/nsr/README.md +40 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/README.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/git-workflow.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/security.md +22 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/RULES/tech-stack.md +8 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/SKILL.md +71 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/config/core_four.yaml +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/validate_code.sh +29 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/gates/verify_docs.py +66 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/generate.sh +109 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/NSRcompliance/templates/compliance/telemetry/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/README.md +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/README.md +36 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/features/SKILL-template.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/README.md +25 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/SKILL.md +13 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/create_branch.sh +6 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/safe_commit.sh +9 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/git_ops/sync_upstream.sh +6 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/README.md +27 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/SKILL.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/smoke_test.sh +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/start.sh +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/status.sh +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/agents_skills/lifecycle/stop.sh +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/config/core_four.yaml +13 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/compliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/README.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/api.md +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/compliance-wiring.md +155 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/BEST_PRACTICES/frontend.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/README.md +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/README.md +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/clients/template-README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/deploy.sh +49 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/development.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/production.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/envs/staging.env.example +17 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/CI_CD/deployment/tenants/template.env.example +8 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/README.md +26 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/agent.md +7 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/developers/dev-1.md +20 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/linux.md +9 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/macos.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/shared.md +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/DEVELOPER_SETUP/windows.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/README.md +25 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/_template.md +41 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/HOSTING/hosting-1.md +41 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/README.md +21 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/README.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/deployment.md +19 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/disaster-recovery.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/RUNBOOK/ops-tasks.md +14 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/features/README.md +16 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/project-skills.md +146 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/research/software-compliance-research.md +269 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/docs/working-with-agents.md +260 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/AGENTS.md +38 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/ARCHITECTURE.md +36 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/BEST_PRACTICES.md +27 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/CI_CD.md +23 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/FEATURES.md +15 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/README.md +22 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/RULES.md +37 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/STRUCTURE.md +45 -0
- package/.agents/skills/nsr-compliance/assets/nsr/assets/root/TECH_STACK.md +28 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scaffold-spec.md +63 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scripts/scaffold.sh +103 -0
- package/.agents/skills/nsr-compliance/assets/nsr/scripts/validate.sh +52 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/SKILL.md +71 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/config/core_four.yaml +16 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_danger.sh +102 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/check_wiring.sh +69 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/validate_code.sh +29 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/gates/verify_docs.py +66 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/generate.sh +109 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/result_envelope.json +14 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/envelopes/task_envelope.json +20 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/harness/runner.py +303 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/telemetry/logger.py +112 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/README.md +18 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/config/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/README.md +12 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_env.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_paths.sh +20 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/gates/check_platform.sh +23 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/README.md +11 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/harness/envelopes/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/README.md +10 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/installer/install.sh +125 -0
- package/.agents/skills/nsr-compliance/assets/nsrcompliance/templates/compliance/telemetry/README.md +11 -0
- package/.agents/skills/pr-ops/README.md +3 -0
- package/.agents/skills/pr-ops/SKILL.md +109 -0
- package/.agents/skills/ratatoskr-a2a/README.md +3 -0
- package/.agents/skills/ratatoskr-a2a/SKILL.md +148 -0
- package/.agents/skills/rules-check-drift/SKILL.md +81 -0
- package/.agents/skills/saga-bearings/README.md +3 -0
- package/.agents/skills/saga-bearings/SKILL.md +26 -0
- package/.agents/skills/saga-bearings/assets/bearings.md +161 -0
- package/.agents/skills/saga-bearings/assets/board-template.html +731 -0
- package/.agents/skills/saga-bearings/assets/recap.md +56 -0
- package/.agents/skills/syn-recovery/README.md +3 -0
- package/.agents/skills/syn-recovery/SKILL.md +54 -0
- package/.agents/skills/tyr-check/README.md +3 -0
- package/.agents/skills/tyr-check/SKILL.md +218 -0
- package/.agents/skills/urdh-hold/README.md +3 -0
- package/.agents/skills/urdh-hold/SKILL.md +25 -0
- package/.agents/skills/urdh-hold/assets/decisions.md +15 -0
- package/.agents/skills/urdh-hold/assets/hold.md +54 -0
- package/.agents/skills/vor-diagnostics/README.md +3 -0
- package/.agents/skills/vor-diagnostics/SKILL.md +68 -0
- package/.agents/skills/ymir-host/README.md +3 -0
- package/.agents/skills/ymir-host/SKILL.md +34 -0
- package/.agents/skills/ymir-host/assets/desktop.md +36 -0
- package/.agents/skills/ymir-host/assets/omarchy.md +297 -0
- package/.agents/skills/ymir-host/assets/runbooks.md +15 -0
- package/.agents/skills/ymir-host/assets/thjazi.md +220 -0
- package/.agents/skills/ymir-host/assets/update.md +64 -0
- package/.agents/tests/assets/board-render-harness.mjs +117 -0
- package/.agents/tests/cmux-test-safety.sh +51 -0
- package/.agents/tests/fixtures.sh +291 -0
- package/.agents/tests/fm-afk-inject-e2e.test.sh +428 -0
- package/.agents/tests/fm-afk-inject-herdr-e2e.test.sh +536 -0
- package/.agents/tests/fm-afk-launch.test.sh +961 -0
- package/.agents/tests/fm-afk-pi-herdr-return-e2e.test.sh +297 -0
- package/.agents/tests/fm-afk-return.test.sh +283 -0
- package/.agents/tests/fm-arm-pretool-check.test.sh +482 -0
- package/.agents/tests/fm-ask-user-authority.test.sh +42 -0
- package/.agents/tests/fm-backend-autodetect-smoke.test.sh +176 -0
- package/.agents/tests/fm-backend-cmux-smoke.test.sh +188 -0
- package/.agents/tests/fm-backend-cmux.test.sh +1166 -0
- package/.agents/tests/fm-backend-herdr-eventwait-smoke.test.sh +136 -0
- package/.agents/tests/fm-backend-herdr-eventwait.test.py +106 -0
- package/.agents/tests/fm-backend-herdr-focus-flash-e2e.test.sh +409 -0
- package/.agents/tests/fm-backend-herdr-launcher-workspace-e2e.test.sh +437 -0
- package/.agents/tests/fm-backend-herdr-presentation-e2e.test.sh +1424 -0
- package/.agents/tests/fm-backend-herdr-prune-safety-e2e.test.sh +180 -0
- package/.agents/tests/fm-backend-herdr-respawn-idem-e2e.test.sh +182 -0
- package/.agents/tests/fm-backend-herdr-smoke.test.sh +355 -0
- package/.agents/tests/fm-backend-herdr-workspace-per-home-e2e.test.sh +251 -0
- package/.agents/tests/fm-backend-herdr.test.sh +4606 -0
- package/.agents/tests/fm-backend-orca.test.sh +1357 -0
- package/.agents/tests/fm-backend-tmux-smoke.test.sh +173 -0
- package/.agents/tests/fm-backend-zellij-smoke.test.sh +205 -0
- package/.agents/tests/fm-backend-zellij.test.sh +1360 -0
- package/.agents/tests/fm-backend.test.sh +1142 -0
- package/.agents/tests/fm-backlog-atomicity.test.sh +2302 -0
- package/.agents/tests/fm-backlog-handoff.test.sh +1360 -0
- package/.agents/tests/fm-bearings-board-render.test.sh +135 -0
- package/.agents/tests/fm-bearings-board.test.sh +414 -0
- package/.agents/tests/fm-bearings-snapshot.test.sh +1990 -0
- package/.agents/tests/fm-bootstrap-network-parallel.test.sh +316 -0
- package/.agents/tests/fm-bootstrap.test.sh +1178 -0
- package/.agents/tests/fm-branch-supervision.test.sh +552 -0
- package/.agents/tests/fm-brief.test.sh +785 -0
- package/.agents/tests/fm-busy-adapter-wiring.test.sh +324 -0
- package/.agents/tests/fm-busy-state.test.sh +465 -0
- package/.agents/tests/fm-calm-pi-extension.test.sh +3979 -0
- package/.agents/tests/fm-captain-hold-lifecycle.test.sh +1187 -0
- package/.agents/tests/fm-cd-pretool-check.test.sh +400 -0
- package/.agents/tests/fm-check-unregister.test.sh +198 -0
- package/.agents/tests/fm-classify-corr-token.test.sh +543 -0
- package/.agents/tests/fm-classify-decision-key.test.sh +340 -0
- package/.agents/tests/fm-claude-stop-autoarm-live-e2e.test.sh +164 -0
- package/.agents/tests/fm-claude-stop-autoarm.test.sh +1190 -0
- package/.agents/tests/fm-cmux-claude-composer-live-e2e.test.sh +110 -0
- package/.agents/tests/fm-codex-continuity-live-e2e.test.sh +55 -0
- package/.agents/tests/fm-composer-ghost.test.sh +716 -0
- package/.agents/tests/fm-composer-lib.test.sh +666 -0
- package/.agents/tests/fm-composer-matrix-live-e2e.test.sh +220 -0
- package/.agents/tests/fm-control-herdr-smoke.test.sh +149 -0
- package/.agents/tests/fm-control-relaunch.test.sh +1530 -0
- package/.agents/tests/fm-control.test.sh +910 -0
- package/.agents/tests/fm-crew-state.test.sh +1610 -0
- package/.agents/tests/fm-cursor-harness.test.sh +404 -0
- package/.agents/tests/fm-cursor-primary-live-e2e.test.sh +217 -0
- package/.agents/tests/fm-cursor-primary.test.sh +708 -0
- package/.agents/tests/fm-daemon.test.sh +2740 -0
- package/.agents/tests/fm-documentation-audiences.test.sh +141 -0
- package/.agents/tests/fm-ensure-agents-md.test.sh +371 -0
- package/.agents/tests/fm-extension-binding.test.sh +2187 -0
- package/.agents/tests/fm-fleet-snapshot-view.test.sh +816 -0
- package/.agents/tests/fm-fleet-sync.test.sh +721 -0
- package/.agents/tests/fm-gate-refuse.test.sh +356 -0
- package/.agents/tests/fm-gitignore-config.test.sh +89 -0
- package/.agents/tests/fm-gotmp.test.sh +230 -0
- package/.agents/tests/fm-grok-continuity-live-e2e.test.sh +112 -0
- package/.agents/tests/fm-grok-harness.test.sh +117 -0
- package/.agents/tests/fm-grok-stop-live-e2e.test.sh +219 -0
- package/.agents/tests/fm-guard-stale-banner.test.sh +709 -0
- package/.agents/tests/fm-harness-adapter-instructions-live-e2e.test.sh +134 -0
- package/.agents/tests/fm-harness-adapter-references.test.sh +30 -0
- package/.agents/tests/fm-harness-liveness-drift-live-e2e.test.sh +151 -0
- package/.agents/tests/fm-herdr-lab.test.sh +243 -0
- package/.agents/tests/fm-herdr-session-cleanup-e2e.test.sh +146 -0
- package/.agents/tests/fm-herdr-session-cleanup.test.sh +329 -0
- package/.agents/tests/fm-herdr-submit-confirm-live-e2e.test.sh +125 -0
- package/.agents/tests/fm-herdr-version-floor-live-e2e.test.sh +144 -0
- package/.agents/tests/fm-home-summary-refresh.test.sh +971 -0
- package/.agents/tests/fm-inactive-reconcile.test.sh +485 -0
- package/.agents/tests/fm-kimi-harness.test.sh +687 -0
- package/.agents/tests/fm-lint-workflows.test.sh +532 -0
- package/.agents/tests/fm-lint.test.sh +1023 -0
- package/.agents/tests/fm-muse-harness.test.sh +932 -0
- package/.agents/tests/fm-muse-signals-live-e2e.test.sh +205 -0
- package/.agents/tests/fm-no-mistakes-required.test.sh +72 -0
- package/.agents/tests/fm-on.test.sh +507 -0
- package/.agents/tests/fm-opencode-primary-live-e2e.test.sh +357 -0
- package/.agents/tests/fm-operational-input.test.sh +160 -0
- package/.agents/tests/fm-peek-remote.test.sh +110 -0
- package/.agents/tests/fm-pending-reply.test.sh +1288 -0
- package/.agents/tests/fm-pi-branch-extension.test.sh +3182 -0
- package/.agents/tests/fm-pi-branch-live-e2e.test.sh +527 -0
- package/.agents/tests/fm-pi-primary-live-e2e.test.sh +345 -0
- package/.agents/tests/fm-pi-primary-types.test.sh +68 -0
- package/.agents/tests/fm-pi-watch-extension.test.sh +2843 -0
- package/.agents/tests/fm-pr-check-security.test.sh +2140 -0
- package/.agents/tests/fm-pr-merge.test.sh +2135 -0
- package/.agents/tests/fm-procevent-quota.test.sh +225 -0
- package/.agents/tests/fm-procevent-when.test.sh +406 -0
- package/.agents/tests/fm-procevent.test.sh +1745 -0
- package/.agents/tests/fm-project-origin.test.sh +110 -0
- package/.agents/tests/fm-public-followup.test.sh +2272 -0
- package/.agents/tests/fm-quota-array-dispatch-live-e2e.test.sh +526 -0
- package/.agents/tests/fm-quota-choose.test.sh +626 -0
- package/.agents/tests/fm-remote-backlog-handoff.test.sh +453 -0
- package/.agents/tests/fm-remote-doctor.test.sh +625 -0
- package/.agents/tests/fm-remote-entrypoint.test.sh +59 -0
- package/.agents/tests/fm-remote-job-orphan-reap.test.sh +205 -0
- package/.agents/tests/fm-remote-job.test.sh +768 -0
- package/.agents/tests/fm-remote-reply.test.sh +520 -0
- package/.agents/tests/fm-remote-secondmate-lifecycle-e2e.test.sh +1256 -0
- package/.agents/tests/fm-remote-secondmate-parent-binding.test.sh +326 -0
- package/.agents/tests/fm-remote-secondmate-trace-context.test.sh +310 -0
- package/.agents/tests/fm-remote-transport-lanes.test.sh +431 -0
- package/.agents/tests/fm-review-diff.test.sh +176 -0
- package/.agents/tests/fm-secondmate-harness.test.sh +2600 -0
- package/.agents/tests/fm-secondmate-lifecycle-e2e.test.sh +259 -0
- package/.agents/tests/fm-secondmate-liveness.test.sh +559 -0
- package/.agents/tests/fm-secondmate-reconcile.test.sh +732 -0
- package/.agents/tests/fm-secondmate-safety.test.sh +2972 -0
- package/.agents/tests/fm-secondmate-sync.test.sh +913 -0
- package/.agents/tests/fm-send-inbox-doorbell-live-e2e.test.sh +206 -0
- package/.agents/tests/fm-send-inbox.test.sh +352 -0
- package/.agents/tests/fm-send-popup-settle.test.sh +167 -0
- package/.agents/tests/fm-send-remote-delivery.test.sh +796 -0
- package/.agents/tests/fm-send-resolve-key.test.sh +551 -0
- package/.agents/tests/fm-send-secondmate-marker-herdr-e2e.test.sh +187 -0
- package/.agents/tests/fm-send-secondmate-marker.test.sh +278 -0
- package/.agents/tests/fm-send-settle.test.sh +147 -0
- package/.agents/tests/fm-send-strict.test.sh +241 -0
- package/.agents/tests/fm-session-lock-ancestry.test.sh +365 -0
- package/.agents/tests/fm-session-start.test.sh +2515 -0
- package/.agents/tests/fm-sessionstart-hook-live-e2e.test.sh +631 -0
- package/.agents/tests/fm-sessionstart-instruction-refresh-live-e2e.test.sh +230 -0
- package/.agents/tests/fm-sessionstart-nudge.test.sh +1039 -0
- package/.agents/tests/fm-shared-captain-inheritance.test.sh +404 -0
- package/.agents/tests/fm-spawn-batch.test.sh +148 -0
- package/.agents/tests/fm-spawn-dispatch-profile.test.sh +827 -0
- package/.agents/tests/fm-spawn-pool-base-freshen.test.sh +440 -0
- package/.agents/tests/fm-spawn-worktree-settle.test.sh +147 -0
- package/.agents/tests/fm-startup-memory-budget.test.sh +333 -0
- package/.agents/tests/fm-startup-network.test.sh +712 -0
- package/.agents/tests/fm-stow-cascade.test.sh +370 -0
- package/.agents/tests/fm-subagent-pretool-check.test.sh +291 -0
- package/.agents/tests/fm-supervision-events.test.sh +156 -0
- package/.agents/tests/fm-supervision-instructions.test.sh +189 -0
- package/.agents/tests/fm-tangle-guard.test.sh +277 -0
- package/.agents/tests/fm-task-delivery.test.sh +420 -0
- package/.agents/tests/fm-task-inbox.test.sh +513 -0
- package/.agents/tests/fm-teardown-endpoint-safety.test.sh +374 -0
- package/.agents/tests/fm-teardown.test.sh +2665 -0
- package/.agents/tests/fm-test-fixture-cleanup.test.sh +172 -0
- package/.agents/tests/fm-test-fixtures.test.sh +132 -0
- package/.agents/tests/fm-test-isolation-proof.test.sh +278 -0
- package/.agents/tests/fm-test-run.test.sh +1196 -0
- package/.agents/tests/fm-tmux-agent-liveness.test.sh +354 -0
- package/.agents/tests/fm-tmux-submit-busy.test.sh +340 -0
- package/.agents/tests/fm-tool-update-check.test.sh +1044 -0
- package/.agents/tests/fm-trace-context-lib.test.sh +253 -0
- package/.agents/tests/fm-trace-context-spawn.test.sh +581 -0
- package/.agents/tests/fm-transition-lib.test.sh +54 -0
- package/.agents/tests/fm-turnend-guard.test.sh +1822 -0
- package/.agents/tests/fm-update.test.sh +304 -0
- package/.agents/tests/fm-vendor-auth-probe.test.sh +395 -0
- package/.agents/tests/fm-voice-relay.test.sh +4741 -0
- package/.agents/tests/fm-wake-daemon-lifecycle-e2e.test.sh +171 -0
- package/.agents/tests/fm-wake-drain-open-decisions-cursor.test.sh +356 -0
- package/.agents/tests/fm-wake-drain-open-decisions.test.sh +226 -0
- package/.agents/tests/fm-wake-drain-unread-status.test.sh +379 -0
- package/.agents/tests/fm-wake-queue.test.sh +1224 -0
- package/.agents/tests/fm-watch-arm.test.sh +821 -0
- package/.agents/tests/fm-watch-checkpoint.test.sh +87 -0
- package/.agents/tests/fm-watch-recovery-loop.test.sh +223 -0
- package/.agents/tests/fm-watch-triage.test.sh +3889 -0
- package/.agents/tests/fm-watcher-lock.test.sh +1133 -0
- package/.agents/tests/fm-x-mode.test.sh +3042 -0
- package/.agents/tests/gleipnir-guard-pretool-check.test.sh +51 -0
- package/.agents/tests/gleipnir-machine-lock.test.sh +130 -0
- package/.agents/tests/herdr-test-safety.sh +42 -0
- package/.agents/tests/lib.sh +315 -0
- package/.agents/tests/remote-herdr-fixture.sh +125 -0
- package/.agents/tests/secondmate-helpers.sh +193 -0
- package/.agents/tests/smoke.test.sh +93 -0
- package/.agents/tests/wake-helpers.sh +338 -0
- package/.agents/tests/zellij-test-safety.sh +60 -0
- package/.agents/tools/README.md +10 -0
- package/.agents/tools/bin/tasks-cli +267 -0
- package/.agents/tools/tasks-cli.ts +216 -0
- package/AGENTS.md +454 -0
- package/CHANGELOG.md +881 -0
- package/LICENSE +1 -1
- package/NOTICE +63 -0
- package/README.md +113 -39
- package/RULES/01-domains.md +51 -0
- package/RULES/02-agents.md +78 -0
- package/RULES/03-houses.md +61 -0
- package/RULES/04-hoard.md +65 -0
- package/RULES/05-platforms.md +67 -0
- package/RULES/06-append-only.md +58 -0
- package/RULES/07-config.md +45 -0
- package/RULES/08-delivery-gate.md +75 -0
- package/RULES/README.md +20 -0
- package/bin/README.md +107 -0
- package/bin/a2a-mcp.sh +98 -0
- package/bin/a2a-serve.py +103 -0
- package/bin/a2a-serve.sh +8 -0
- package/bin/a2a-talk.sh +50 -0
- package/bin/a2abridge-ensure.sh +108 -0
- package/bin/agent-run.sh +43 -0
- package/bin/agents-config.sh +233 -0
- package/bin/apodex-smoke-test.sh +92 -0
- package/bin/bifrost-bridge.sh +112 -0
- package/bin/bifrost-ingress.sh +77 -0
- package/bin/bootstrap-macos.sh +107 -0
- package/bin/bootstrap-windows.ps1 +112 -0
- package/bin/branch-guard.sh +64 -0
- package/bin/brokk +73 -0
- package/bin/brokk-classify-lib.sh +1770 -0
- package/bin/brokk-lease-lib.sh +222 -0
- package/bin/brokk-lease.sh +193 -0
- package/bin/brokk-lint.sh +65 -0
- package/bin/brokk-send.sh +38 -0
- package/bin/brokk-update.sh +9 -0
- package/bin/brokk-wake-grant.sh +127 -0
- package/bin/brokk-wake-lib.sh +1849 -0
- package/bin/changelog-guard.sh +165 -0
- package/bin/crash-sense.sh +160 -0
- package/bin/desktop-place.sh +224 -0
- package/bin/docs-guard.sh +39 -0
- package/bin/editor-place.sh +207 -0
- package/bin/eindri-acclaim.sh +34 -0
- package/bin/eindri-control.sh +28 -0
- package/bin/eindri-role.sh +83 -0
- package/bin/eindri-seen.sh +41 -0
- package/bin/eindri-send.sh +15 -0
- package/bin/eindri-start.sh +85 -0
- package/bin/eindri-watch.sh +57 -0
- package/bin/einherjar-spawn.sh +576 -0
- package/bin/eir-doctor.sh +112 -0
- package/bin/erindi-brief.sh +271 -0
- package/bin/fleet-apply.sh +68 -0
- package/bin/github-deploy.sh +81 -0
- package/bin/gjallarhorn-expose.sh +102 -0
- package/bin/gjallarhorn-notify.sh +58 -0
- package/bin/gjallarhorn-purge.sh +54 -0
- package/bin/gjallarhorn-tunnel.sh +72 -0
- package/bin/gleipnir-lock-lib.sh +284 -0
- package/bin/groa-update.sh +122 -0
- package/bin/hall-snapshot.sh +92 -0
- package/bin/hamr-harness.sh +246 -0
- package/bin/heimdall-ssh-keys.sh +374 -0
- package/bin/herdr-agents.py +44 -0
- package/bin/herdr-ensure.sh +104 -0
- package/bin/herdr-run.sh +431 -0
- package/bin/hermes-ensure.sh +88 -0
- package/bin/hoard-lib.sh +25 -0
- package/bin/hodd.sh +78 -0
- package/bin/host-sense.sh +199 -0
- package/bin/huginn-research-worker.sh +108 -0
- package/bin/local-model-lock.sh +51 -0
- package/bin/mimir-bridge.py +226 -0
- package/bin/mimir-bridge.sh +87 -0
- package/bin/mimir-ingest.sh +131 -0
- package/bin/mimir.sh +113 -0
- package/bin/mjollnir-webhook.sh +59 -0
- package/bin/mjollnir.sh +85 -0
- package/bin/model-hardware.sh +82 -0
- package/bin/model-resolve.sh +147 -0
- package/bin/models-detect.sh +178 -0
- package/bin/nornir-cron-start.sh +162 -0
- package/bin/nornir-job-daily-briefing.sh +191 -0
- package/bin/nornir-job-git-sync.sh +152 -0
- package/bin/nornir-job-memory-housekeeping.sh +114 -0
- package/bin/nornir-job-observer.sh +166 -0
- package/bin/nornir-job-skillopt-sleep.sh +76 -0
- package/bin/omarchy-hook-install.sh +60 -0
- package/bin/omarchy-install.sh +148 -0
- package/bin/omarchy-plugins.sh +174 -0
- package/bin/omarchy-sense.sh +149 -0
- package/bin/perm-guard.sh +30 -0
- package/bin/pi-agent.sh +68 -0
- package/bin/pi-ensure.sh +77 -0
- package/bin/pi-local.sh +37 -0
- package/bin/pi-seat.sh +63 -0
- package/bin/prereq-ensure.sh +166 -0
- package/bin/private-guard.sh +38 -0
- package/bin/project-git.sh +55 -0
- package/bin/public-guard.sh +70 -0
- package/bin/ratatoskr.sh +49 -0
- package/bin/realm-lib.sh +32 -0
- package/bin/repo-scrub.sh +62 -0
- package/bin/rodd-operational-input.sh +250 -0
- package/bin/runes-append.sh +198 -0
- package/bin/saga-session-start.sh +172 -0
- package/bin/saga-sessionstart-run.sh +79 -0
- package/bin/saga-wake-drain.sh +41 -0
- package/bin/secret-guard.sh +63 -0
- package/bin/sessrumnir-ensure.sh +100 -0
- package/bin/sessrumnir-sync.sh +237 -0
- package/bin/sessrumnir.sh +91 -0
- package/bin/skillopt-setup.sh +76 -0
- package/bin/skuld-branch-outcome.sh +203 -0
- package/bin/skuld-branch-prompt.sh +101 -0
- package/bin/smidja-bootstrap.sh +90 -0
- package/bin/smidja-observe.sh +86 -0
- package/bin/syn-arm-pretool-check.sh +57 -0
- package/bin/syn-asset-pretool-check.sh +76 -0
- package/bin/syn-cd-pretool-check.sh +28 -0
- package/bin/syn-guard-pretool-check.sh +83 -0
- package/bin/syn-turnend-guard.sh +36 -0
- package/bin/syn-watch-arm.sh +99 -0
- package/bin/tailscale-sync.sh +190 -0
- package/bin/telegram-bot.sh +69 -0
- package/bin/toolchain.sh +74 -0
- package/bin/utgard.sh +111 -0
- package/bin/valhalla.sh +115 -0
- package/bin/valknut-load.sh +260 -0
- package/bin/vor-crew-state.sh +124 -0
- package/bin/wedge-notify.sh +47 -0
- package/bin/workspace-provision.sh +80 -0
- package/bin/workspace-rag.sh +150 -0
- package/bin/wyrd-db.sh +47 -0
- package/bin/yggdrasil.sh +152 -0
- package/bin/ymir-edit.sh +145 -0
- package/bin/ymir-install.sh +641 -0
- package/bin/ymir-invite.sh +93 -0
- package/bin/ymir-isolation.sh +88 -0
- package/bin/ymir-migrate.sh +61 -0
- package/bin/ymir-platform.sh +348 -0
- package/bin/ymir-say.sh +97 -0
- package/bin/ymir-setup-auth.sh +108 -0
- package/bin/ymir-validate.sh +173 -0
- package/bin/ymir.js +74 -16
- package/docs/Architecture.md +339 -0
- package/docs/design.md +351 -0
- package/docs/installations/README.md +63 -0
- package/docs/installations/ymir-home.md +93 -0
- package/docs/integration.md +105 -0
- package/docs/lore.md +1056 -0
- package/docs/research/agent-harnesses.md +290 -0
- package/docs/runbooks/README.md +19 -0
- package/docs/runbooks/a2a.md +91 -0
- package/docs/runbooks/agent-permissions.md +99 -0
- package/docs/runbooks/agents.md +57 -0
- package/docs/runbooks/models.md +69 -0
- package/docs/runbooks/realm-onboarding.md +60 -0
- package/docs/runbooks/secrets-and-hoard.md +60 -0
- package/docs/runbooks/updates-and-migrations.md +110 -0
- package/docs/runbooks/worktrees-isolation.md +72 -0
- package/docs/session-start.md +105 -0
- package/docs/skillopt-integration.md +321 -0
- package/docs/sync-system.md +66 -0
- package/docs/workspaces.md +104 -0
- package/docs/ymir-rut.md +260 -0
- package/package.json +44 -14
- package/packaging/build.sh +74 -0
- package/packaging/macos/Ymir Installer.command +43 -0
- package/packaging/windows/ymir-setup.nsi +74 -0
- package/scripts/README.md +22 -0
- package/scripts/electron.sh +210 -0
- package/scripts/start.sh +167 -0
- package/scripts/stop.sh +113 -0
- package/install.sh +0 -35
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# HOSTING — Host Template
|
|
2
|
+
|
|
3
|
+
Duplicate per hosting provider. Fill all sections before production.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
- **Provider/Name:**
|
|
7
|
+
- **What runs here:**
|
|
8
|
+
- **Purpose / SLA:**
|
|
9
|
+
|
|
10
|
+
## Environments / Deployments
|
|
11
|
+
| Env Tier | Target (client/tenant) | Hosting Location |
|
|
12
|
+
|----------|------------------------|------------------|
|
|
13
|
+
| production | | |
|
|
14
|
+
| staging | | |
|
|
15
|
+
| development | | |
|
|
16
|
+
|
|
17
|
+
## Access & Auth
|
|
18
|
+
- **Mechanism:** (references only, never raw secrets)
|
|
19
|
+
- **Who can deploy:**
|
|
20
|
+
- **Secret references:**
|
|
21
|
+
|
|
22
|
+
## Deployment
|
|
23
|
+
- **Deploy command:** `docs/CI_CD/deployment/deploy.sh --env <env> --target <target>`
|
|
24
|
+
- **Skill scripts used:**
|
|
25
|
+
- **Artifact location:**
|
|
26
|
+
|
|
27
|
+
## Allowed Operations
|
|
28
|
+
- [ ] Deploy via skill script
|
|
29
|
+
- [ ] Rollback
|
|
30
|
+
- [ ] Restart / scale
|
|
31
|
+
|
|
32
|
+
## Forbidden Operations
|
|
33
|
+
- [ ] Manual live-config edits
|
|
34
|
+
- [ ] Exposing logs/secrets
|
|
35
|
+
- [ ] Raw `kill` / destructive commands
|
|
36
|
+
|
|
37
|
+
## Rollback
|
|
38
|
+
- *(steps)*
|
|
39
|
+
|
|
40
|
+
## Gotchas
|
|
41
|
+
- *(limits, cost traps, failure modes)*
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Hosting N — *(provider)*
|
|
2
|
+
|
|
3
|
+
> Copy `_template.md` structure. Fill all sections before production.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
- **Provider/Name:** *(fill)*
|
|
7
|
+
- **What runs here:** *(fill)*
|
|
8
|
+
- **Purpose / SLA:** *(fill)*
|
|
9
|
+
|
|
10
|
+
## Environments / Deployments
|
|
11
|
+
| Env Tier | Target | Hosting Location |
|
|
12
|
+
|----------|--------|------------------|
|
|
13
|
+
| production | | |
|
|
14
|
+
| staging | | |
|
|
15
|
+
| development | | |
|
|
16
|
+
|
|
17
|
+
## Access & Auth
|
|
18
|
+
- **Mechanism:** *(fill — references only)*
|
|
19
|
+
- **Who can deploy:** *(fill)*
|
|
20
|
+
- **Secret references:** *(fill — names only)*
|
|
21
|
+
|
|
22
|
+
## Deployment
|
|
23
|
+
- **Deploy command:** `docs/CI_CD/deployment/deploy.sh --env <env> --target <target>`
|
|
24
|
+
- **Skill scripts:** *(fill)*
|
|
25
|
+
- **Artifact location:** *(fill)*
|
|
26
|
+
|
|
27
|
+
## Allowed Operations
|
|
28
|
+
- [ ] Deploy via skill script
|
|
29
|
+
- [ ] Rollback
|
|
30
|
+
- [ ] Restart / scale
|
|
31
|
+
|
|
32
|
+
## Forbidden Operations
|
|
33
|
+
- [ ] Manual live-config edits outside deploy
|
|
34
|
+
- [ ] Exposing logs/secrets
|
|
35
|
+
- [ ] Raw `kill`
|
|
36
|
+
|
|
37
|
+
## Rollback
|
|
38
|
+
- *(fill steps)*
|
|
39
|
+
|
|
40
|
+
## Gotchas
|
|
41
|
+
- *(fill)*
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# docs/
|
|
2
|
+
|
|
3
|
+
Deep-dive technical documentation — the granular layer. `AGENTS.md`, `STRUCTURE.md`, and other root files link here; detail never lives at the root.
|
|
4
|
+
|
|
5
|
+
## What Goes Here
|
|
6
|
+
|
|
7
|
+
- `features/` — Per-feature deep-dive specs.
|
|
8
|
+
- `BEST_PRACTICES/` — Engineering standards (api, frontend, ...).
|
|
9
|
+
- `CI_CD/` — Pipeline configs + `deployment/` (envs, clients, tenants, deploy.sh).
|
|
10
|
+
- `DEVELOPER_SETUP/` — Per-developer core setup (consolidated + developers/).
|
|
11
|
+
- `HOSTING/` — Per-hosting core info (never break production).
|
|
12
|
+
- `RUNBOOK/` — Operational procedures & incident recovery.
|
|
13
|
+
- `research/` — Research sources (background, not operational).
|
|
14
|
+
- Practice documents (used operationally):
|
|
15
|
+
- `working-with-agents.md` — how to work with agents.
|
|
16
|
+
- `project-skills.md` — every skill a project must ship.
|
|
17
|
+
|
|
18
|
+
## Rules
|
|
19
|
+
|
|
20
|
+
- Fill per-project detail into these templates when adopting NSR.
|
|
21
|
+
- Practice docs are authoritative with `WayOfNorthstarRules.md` and `AGENTS.md`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# RUNBOOK/
|
|
2
|
+
|
|
3
|
+
Operational procedures. Step-by-step, reproducible.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- `deployment.md` — Pre-deploy checks, rollout, post-deploy verify.
|
|
8
|
+
- `disaster-recovery.md` — Restore, backup verification, escalation.
|
|
9
|
+
- `ops-tasks.md` — Routine ops (log rotation, health checks).
|
|
10
|
+
- *(add more as needed)*
|
|
11
|
+
|
|
12
|
+
## Rules
|
|
13
|
+
|
|
14
|
+
- Procedures invoke `.agents/skills/` scripts — never ad-hoc commands.
|
|
15
|
+
- Every step must be reproducible by an agent or on-call engineer.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Deployment Runbook — __PROJECT__
|
|
2
|
+
|
|
3
|
+
## Pre-Deploy
|
|
4
|
+
1. Run gates: `.compliance/gates/check_env.sh`, `check_paths.sh`, `check_platform.sh`.
|
|
5
|
+
2. Run feature tests: `.agents/skills/features/<feature>/test.sh`.
|
|
6
|
+
3. Confirm release tag from `docs/CI_CD/release.md`.
|
|
7
|
+
|
|
8
|
+
## Deploy
|
|
9
|
+
1. `docs/CI_CD/deployment/deploy.sh --env production --target client:<name>` (or `tenant:<name>`).
|
|
10
|
+
2. Verify with `.agents/skills/lifecycle/smoke_test.sh`.
|
|
11
|
+
|
|
12
|
+
## Post-Deploy
|
|
13
|
+
1. `.agents/skills/lifecycle/status.sh` → health check.
|
|
14
|
+
2. Watch telemetry via `.compliance/telemetry/logger.py`.
|
|
15
|
+
3. Update `docs/HOSTING/<host>.md` if anything changed.
|
|
16
|
+
|
|
17
|
+
## Rollback
|
|
18
|
+
- `.agents/skills/features/<feature>/rollback.sh` → previous release tag.
|
|
19
|
+
- Confirm in `docs/HOSTING/` doc + postmortem if needed.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Disaster Recovery — __PROJECT__
|
|
2
|
+
|
|
3
|
+
## Backup
|
|
4
|
+
- DB backups on a schedule via `.agents/skills/features/*/setup.sh` (or a backup job).
|
|
5
|
+
- Verify backups restore monthly.
|
|
6
|
+
|
|
7
|
+
## Restore Procedure
|
|
8
|
+
1. Stop traffic: `.agents/skills/lifecycle/stop.sh`.
|
|
9
|
+
2. Restore DB from latest backup.
|
|
10
|
+
3. Start: `.agents/skills/lifecycle/start.sh`.
|
|
11
|
+
4. Verify: `.agents/skills/lifecycle/smoke_test.sh` + `status.sh`.
|
|
12
|
+
|
|
13
|
+
## Incident Escalation
|
|
14
|
+
- On-call engineer → `docs/DEVELOPER_SETUP/developers/*.md` for owners.
|
|
15
|
+
- Post-incident: write a postmortem in `docs/research/`.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Ops Tasks — __PROJECT__
|
|
2
|
+
|
|
3
|
+
## Routine
|
|
4
|
+
- Health check: `.agents/skills/lifecycle/status.sh`.
|
|
5
|
+
- Log review: `.agents/skills/features/<feature>/logs.sh`.
|
|
6
|
+
- Token/cost review: `.compliance/telemetry/logger.py`.
|
|
7
|
+
|
|
8
|
+
## Maintenance Windows
|
|
9
|
+
- Document in `docs/HOSTING/<host>.md`.
|
|
10
|
+
- Schedule DB migrations outside peak hours.
|
|
11
|
+
|
|
12
|
+
## Cleanup
|
|
13
|
+
- Rotate secrets quarterly per `RULES/security.md`.
|
|
14
|
+
- Remove stale feature branches via `.agents/skills/git_ops/sync_upstream.sh`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# docs/features/
|
|
2
|
+
|
|
3
|
+
Per-feature deep-dive specs. One file per feature.
|
|
4
|
+
|
|
5
|
+
## Files
|
|
6
|
+
|
|
7
|
+
- *(add one per feature, e.g., `<feature-name>.md`)*
|
|
8
|
+
|
|
9
|
+
## Template Sections
|
|
10
|
+
|
|
11
|
+
Each feature spec must cover: Overview · Schema · Endpoints · Edge Cases · Acceptance Criteria · Skills.
|
|
12
|
+
|
|
13
|
+
## Rules
|
|
14
|
+
|
|
15
|
+
- Every feature in `FEATURES.md` (root) has a matching spec here.
|
|
16
|
+
- Include schemas, params, edge cases, acceptance criteria.
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# Project Skills — Every Skill a Project Should Have
|
|
2
|
+
|
|
3
|
+
> **Status:** Research-informed practice doc (`docs/research/`)
|
|
4
|
+
> **Based on:** the software-compliance research and working-with-agents research (see `docs/research/software-compliance-research.md` and `docs/research/working-with-agents.md`).
|
|
5
|
+
> **Applies to:** every Way-Of project following the NSR ruleset.
|
|
6
|
+
|
|
7
|
+
This document derives from the research **what skills every project must ship** in `.agents/skills/` — the deterministic scripted layer that turns a codebase into a software compliance. It answers: *what capabilities must `.agents/skills/` expose so agents are a leverage multiplier and the project stays reliable, portable, and safe.*
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Why Skills (from the Research)
|
|
12
|
+
|
|
13
|
+
The core rule of the modern software compliance (disler/SSSF, Anthropic, practitioners):
|
|
14
|
+
|
|
15
|
+
> **Agents are bounded nodes; deterministic code owns the graph. Sequencing, retries, and acceptance live in code, and "agent proposes, code disposes."**
|
|
16
|
+
|
|
17
|
+
That "code" is the **skill layer**: each operation an agent might need is a pre-written, gated script under `.agents/skills/`. Research reasons this is mandatory:
|
|
18
|
+
|
|
19
|
+
- **Eliminate hallucinated commands.** "Left alone, an agent will confidently produce code that doesn't meet your standards." If every standard op is a script, there is nothing to hallucinate.
|
|
20
|
+
- **Token + cost control.** Move known work (tests, lint, run, deploy) into code phases so you "stop paying an agent to do arithmetic" (~4×–15× token multipliers otherwise).
|
|
21
|
+
- **Deterministic verification.** Gates judge output by exit code (`$? == 0`), not by LLM text. A skill is the unit that can be gated.
|
|
22
|
+
- **Back-pressure before review.** Linters/hooks inside the loop fix failures *before* the PR.
|
|
23
|
+
- **Standardized tooling** — one of the four observable properties of a working compliance (standardized inputs, tooling, measureable output, replayability).
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## 2. The Mandatory Skill Domains (Every Project)
|
|
28
|
+
|
|
29
|
+
Every project MUST expose these domains under `.agents/skills/`. These are non-negotiable and come directly from the compliance loop `Signal → Triage → Plan → Build → Test → Review → Secure → Ship → Monitor`.
|
|
30
|
+
|
|
31
|
+
| Domain | Purpose | Required skills |
|
|
32
|
+
|--------|---------|-----------------|
|
|
33
|
+
| **lifecycle** | Predictable spin-up/teardown/health automation → the local & deployment loop | `start`, `stop`, `restart`, `status`, `smoke_test` |
|
|
34
|
+
| **git_ops** | Deterministic source control protected from ad-hoc, history-breaking commands | `create_branch`, `safe_commit`, `sync_upstream` (rebase + conflict check) |
|
|
35
|
+
| **testing** | Deterministic suites + fast post-implementation verification | `unit_test`, `integration_test`, `smoke_test` |
|
|
36
|
+
| **features/_<name>_** | Feature-isolated automation for every registered feature (no duplication, no ad-hoc) | `setup`, `test`, `smoke_test`, `rollback` (+ `seed`, `migrate` where applicable) |
|
|
37
|
+
| **compliance** | The embedded Agent Skill Compliance — harness, gates, config, telemetry | `SKILL.md`, `core_four.yaml`, `validate_code`, `verify_docs`, `runner`, `logger` |
|
|
38
|
+
|
|
39
|
+
> **Rule:** a project that lacks any of these domains is **not compliance-ready** (it sits at L2/L3 on the maturity ladder, not L4).
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Detailed Skill Set per Domain
|
|
44
|
+
|
|
45
|
+
### 3.1 lifecycle
|
|
46
|
+
| Skill | Guarantee |
|
|
47
|
+
|-------|-----------|
|
|
48
|
+
| `start.sh` | Safe application spin-up; deterministic, no manual backgrounding |
|
|
49
|
+
| `stop.sh` | Graceful shutdown — **no raw `kill`** (research: bans `kill -9`, `pkill`, `taskkill`) |
|
|
50
|
+
| `status.sh` | Health check so the loop's Monitor phase has a signal |
|
|
51
|
+
| `smoke_test.sh` | Post-boot verification before accepting a run as healthy |
|
|
52
|
+
|
|
53
|
+
### 3.2 git_ops
|
|
54
|
+
| Skill | Guarantee |
|
|
55
|
+
|-------|-----------|
|
|
56
|
+
| `create_branch.sh` | Branch naming + ticket linking (consistent history) |
|
|
57
|
+
| `safe_commit.sh` | Runs pre-commit gates + formats message — the "agent proposes, code disposes" commit path |
|
|
58
|
+
| `sync_upstream.sh` | Rebase + conflict check — protects repo history |
|
|
59
|
+
|
|
60
|
+
### 3.3 testing
|
|
61
|
+
| Skill | Guarantee |
|
|
62
|
+
|-------|-----------|
|
|
63
|
+
| `unit_test.sh` | Fast unit suite (the cheapest feedback) |
|
|
64
|
+
| `integration_test.sh` | Cross-component verification |
|
|
65
|
+
| `smoke_test.sh` | Rapid post-implementation check — this is the back-pressure that runs *before* PRs |
|
|
66
|
+
|
|
67
|
+
### 3.4 features/_<name>_ (one dir per feature in FEATURES.md)
|
|
68
|
+
| Skill | Guarantee |
|
|
69
|
+
|-------|-----------|
|
|
70
|
+
| `SKILL.md` | Feature scope + script binding map |
|
|
71
|
+
| `setup.sh` | Environment/data bootstrap (deterministic DB state, mocks) |
|
|
72
|
+
| `test.sh` | Feature-isolated test suite (tenant-aware where applicable) |
|
|
73
|
+
| `smoke_test.sh` | Feature health verification |
|
|
74
|
+
| `rollback.sh` | Teardown / emergency rollback (research: every task packet carries a rollback) |
|
|
75
|
+
| *optional* `seed.sh`, `migrate.sh` | Deterministic data prep & migrations |
|
|
76
|
+
|
|
77
|
+
### 3.5 compliance — the embedded compliance skill
|
|
78
|
+
| Asset | Guarantee |
|
|
79
|
+
|-------|-----------|
|
|
80
|
+
| `SKILL.md` | Entry point definition for agent tools & capabilities |
|
|
81
|
+
| `config/core_four.yaml` | **Context / Model / Prompt / Tools** governing every agent phase |
|
|
82
|
+
| `gates/validate_code.sh` | Runs all gates; `$? == 0` decides |
|
|
83
|
+
| `gates/verify_docs.py` | Keeps STRUCTURE.md / FEATURES.md / HOSTING / DEVELOPER_SETUP / TECH_STACK in sync |
|
|
84
|
+
| `harness/runner.py` | Local execution harness & orchestrator loop |
|
|
85
|
+
| `telemetry/logger.py` | Token/cost/latency observability — "measure or you can't improve" |
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## 4. The Cross-Project Standard Skills (From the Compliance Loop)
|
|
90
|
+
|
|
91
|
+
Beyond unit-level skills, the research points at **cross-cutting capabilities every project should expose**:
|
|
92
|
+
|
|
93
|
+
1. **Deploy skill** (`deploy.sh`) — env-driven rollout per target (env tier · client · tenant). Couples to `docs/CI_CD/deployment/` and `docs/HOSTING/`.
|
|
94
|
+
2. **Docs-sync skill** (`verify_docs.py`) — research: one of the compliance's observable properties is *replayability*; docs that drift break agents and on-call engineers. Always gated.
|
|
95
|
+
3. **Compliance-gates skill** — `check_env` (env-driven config), `check_paths` (relative paths only), `check_platform` (Mac/Linux/Windows portability). These are NSR's cross-platform / relative-path / env-driven rules turned into runnable skills.
|
|
96
|
+
4. **Install/harness skill** (`install.sh`) — a single command to deploy the compliance into any repo (SSSF: "the skill is the product", stamped via installer).
|
|
97
|
+
5. **Agent handoff schemas (envelopes)** — typed JSON/YAML so inter-agent context is structured, not conversational (`.compliance/harness/envelopes/`).
|
|
98
|
+
6. **Observability/telemetry skill** (`logger.py`) — every phase logs tokens, latency, tool calls, cost.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 5. Why These Skills (Mapping to Research Findings)
|
|
103
|
+
|
|
104
|
+
| Research finding | Skill requirement it drives |
|
|
105
|
+
|------------------|------------------------------|
|
|
106
|
+
| "Zero ad-hoc shell commands" | Every op exposed as a script under `.agents/skills/` |
|
|
107
|
+
| "Deterministic gates judge by `$? == 0`" | `validate_code.sh`, `check_env/paths/platform.sh` |
|
|
108
|
+
| "Context transfers in code (typed envelopes)" | `.compliance/harness/envelopes/` schemas |
|
|
109
|
+
| "Agent proposes, code disposes" | `safe_commit.sh` (agent proposes message, code commits) |
|
|
110
|
+
| "Verification is the bottleneck" | testing + gates run *before* review; smoke tests on every change |
|
|
111
|
+
| "Match autonomy to blast radius" | deploy/rollback skills with human gates for production |
|
|
112
|
+
| "Cross-platform (Mac/Linux/Windows)" | `check_platform.sh`; POSIX lifecycle/git scripts |
|
|
113
|
+
| "Env-driven config; secrets never committed" | `check_env.sh`; `.env.example` templates |
|
|
114
|
+
| "Relative paths only" | `check_paths.sh` |
|
|
115
|
+
| "Repair, don't restart" | harness `runner.py` re-prompts same session on gate failure |
|
|
116
|
+
| "Telemetry or you can't improve" | `logger.py` feeding the embedded compliance telemetry stream |
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 6. The Minimal Viable Skill Set (Checklist)
|
|
121
|
+
|
|
122
|
+
Use this as the acceptance gate for "is this project compliance-ready?":
|
|
123
|
+
|
|
124
|
+
- [ ] `.agents/skills/lifecycle/` — `start.sh`, `stop.sh`, `status.sh`, `smoke_test.sh`
|
|
125
|
+
- [ ] `.agents/skills/git_ops/` — `create_branch.sh`, `safe_commit.sh`, `sync_upstream.sh`
|
|
126
|
+
- [ ] `.agents/skills/features/<feature>/` — `SKILL.md`, `setup.sh`, `test.sh`, `smoke_test.sh`, `rollback.sh` for **every** feature in FEATURES.md
|
|
127
|
+
- [ ] `.agents/skills/NSRcompliance/` — `SKILL.md`, `core_four.yaml`, `validate_code.sh`, `verify_docs.py`, `runner.py`, `logger.py`
|
|
128
|
+
- [ ] `.compliance/gates/` — `check_env.sh`, `check_paths.sh`, `check_platform.sh`, `check_danger.sh` (gate annotations), `check_wiring.sh` (stub vs wired)
|
|
129
|
+
- [ ] `.compliance/harness/envelopes/` — typed task/result envelope schemas
|
|
130
|
+
- [ ] `docs/CI_CD/deployment/deploy.sh` — env-driven deploy runner
|
|
131
|
+
- [ ] `.compliance/installer/` — `install.sh` to bootstrap the harness into any repo
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 7. Sources
|
|
136
|
+
|
|
137
|
+
- disler / IndyDevDan — Super Simple Software Compliance: https://github.com/disler/super-simple-software-compliance
|
|
138
|
+
- INDY DevDan breakdown: https://www.youtube.com/watch?v=haUfb1ievTE
|
|
139
|
+
- Anthropic — multi-agent orchestration: https://www.anthropic.com/engineering/built-multi-agent-research-system
|
|
140
|
+
- Cole Murray — software compliance guide: https://murraycole.com/posts/software-compliance
|
|
141
|
+
- mager.co — Software Compliance: The End Goal of Agentic Engineering: https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
142
|
+
- Compliance.ai — Inside the software compliance: https://compliance.ai/articles/what-is-a-software-compliance
|
|
143
|
+
- Plannotator — what is an AI software compliance: https://docs.plannotator.ai/learn/ai-development/what-is-an-ai-software-compliance
|
|
144
|
+
- StrongDM — dark compliance: https://www.strongdm.com/blog/the-strongdm-software-compliance-building-software-with-ai
|
|
145
|
+
- TrueFoundry — agentic enterprise guide: https://www.truefoundry.com/blog/software-compliance-agentic-enterprise-guide
|
|
146
|
+
- GitClear — AI code quality research: https://www.gitclear.com/ai_assistant_code_quality_2025_research
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# research/
|
|
2
|
+
|
|
3
|
+
External research and investigation sources that inform the project.
|
|
4
|
+
|
|
5
|
+
## Documents
|
|
6
|
+
|
|
7
|
+
- `software-compliance-research.md` — software compliance deep-dive & sources.
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
|
|
11
|
+
- Background knowledge only; operational rules come from `WayOfNorthstarRules.md`, `AGENTS.md`, and the practice docs.
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# Research: The Software Compliance — History, Agent Systems, and How We Use It
|
|
2
|
+
|
|
3
|
+
> **Status:** Research document (deep-dive, `docs/`)
|
|
4
|
+
> **Date:** 2026-09-01
|
|
5
|
+
> **Sources:** web research + vendor documentation, linked inline throughout.
|
|
6
|
+
> **Context:** We use **disler's (IndyDevDan's) "Super Simple Software Compliance"** in several projects. This document explains what a software compliance is, how modern AI agent systems are engineered as factories, and how that maps onto our WayOfNorthStar ruleset.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. Executive Summary
|
|
11
|
+
|
|
12
|
+
A **software compliance** is an organized system for producing software the way a compliance produces goods — with standardized inputs, an assembly path, quality gates, and measurable output. The term dates back to the 1960s–70s (Hitachi actually ran a literal "Software Works"), was reinterpreting by Microsoft in 2004, and has been **revived since 2023–2026 as the dominant model for AI-agent-driven development**.
|
|
13
|
+
|
|
14
|
+
In the AI era, a software compliance means: **deterministic code owns the process graph; AI agents are bounded workers inside named phases; context moves between agents as typed (JSON) envelopes; every result passes programmatic validation gates before it is accepted.** This is exactly the philosophy our WayOfNorthStar ruleset encodes (`.compliance/`, code-based gates, typed envelopes, Core Four config).
|
|
15
|
+
|
|
16
|
+
Which article said it best: *"A pipeline runs once. A compliance learns."* (mager.co). The compliance is a **continuous feedback loop**, not a static CI/CD pipeline.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 2. What Is a Software Compliance? (History)
|
|
21
|
+
|
|
22
|
+
### 2.1 Origins (1968–1991)
|
|
23
|
+
|
|
24
|
+
- **Robert Bemer (1968)** — working at General Electric, proposed a "software compliance."
|
|
25
|
+
- **Hitachi (1969)** — opened the **Hitachi Software Works**, the first facility actually operated as a compliance (Wikipedia).
|
|
26
|
+
- **System Development Corporation (1975)** — published a "Software Compliance" paper (Bratman & Court, IEEE).
|
|
27
|
+
- **NEC, Toshiba, Fujitsu (1976–77)** — adopted the same organizational approach in Japan.
|
|
28
|
+
- **Michael Cusumano (1989–1991)** — wrote the definitive history, *Japan's Software Factories* (Oxford, 1991), documenting six phases of Japanese compliance evolution.
|
|
29
|
+
|
|
30
|
+
The core idea was: treat software development like manufacturing — reusable components, standardized processes, assembly lines, quality control. Not every line hand-crafted from scratch.
|
|
31
|
+
|
|
32
|
+
**Important nuance:** the term is often (incorrectly) attributed to **James Martin** (father of CASE/RAD, "Application Development Without Programmers") and **Michael Hammer** (Business Process Reengineering). Those two supplied the *philosophy* (software produced like manufactured goods, without programmers writing every line), but the verifiable origin of the phrase is Bemer/Hitachi/Cusumano.
|
|
33
|
+
|
|
34
|
+
**Sources:**
|
|
35
|
+
- https://en.wikipedia.org/wiki/Software_compliance
|
|
36
|
+
- https://compliance.ai/articles/what-is-a-software-compliance
|
|
37
|
+
- https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
38
|
+
|
|
39
|
+
### 2.2 Microsoft's 2004 Reinterpretation
|
|
40
|
+
|
|
41
|
+
**Microsoft's *Software Factories*** (Greenfield, Short, Cook, Kent; Wiley 2004) reframed it as a **software product line**: a schema-based template that configures tools, processes, and content so applications are *assembled* from framework-based components (patterns, recipes, templates, designers, reusable code).
|
|
42
|
+
|
|
43
|
+
**Source:** https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
44
|
+
|
|
45
|
+
### 2.3 The Modern (AI) Meaning
|
|
46
|
+
|
|
47
|
+
Starting ~2023, the term was re-energized by **Andrej Karpathy's "LLM OS"** vision (agents as workers, tools as peripherals, memory as storage) and turned into a concrete, productized practice by people like **IndyDevDan (GitHub: `disler`)**.
|
|
48
|
+
|
|
49
|
+
**Modern definition (mager.co):**
|
|
50
|
+
> "An agentic system that can receive a specification and autonomously produce working, deployed, tested software — with minimal human intervention."
|
|
51
|
+
|
|
52
|
+
A **maturity ladder** is widely used (L0 feature-farming to L5 "dark compliance"):
|
|
53
|
+
- **L0** Autocomplete → **L1** Chat-to-code → **L2** File-aware coding agents → **L3** Multi-agent pipelines → **L4** Software compliance (autonomous build-test-deploy) → **L5** Dark compliance (no human on the floor, Fanuc-style lights-out — after Dan Shapiro's five-level model).
|
|
54
|
+
|
|
55
|
+
**Important distinction:** an **"AI compliance"** (NVIDIA's term) is physical GPU infrastructure that *manufactures tokens*. A **software compliance** *spends* tokens to produce software. Do not conflate them.
|
|
56
|
+
|
|
57
|
+
**Sources:**
|
|
58
|
+
- https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
59
|
+
- https://murraycole.com/posts/software-compliance
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## 3. How Modern Agent Systems "Work as a Compliance"
|
|
64
|
+
|
|
65
|
+
Practitioner sources converge on a common architecture. The most detailed operational description comes from **Cole Murray's practitioner guide** (murraycole.com, updated July 2026) and **Compliance.ai's "Inside the software compliance"**.
|
|
66
|
+
|
|
67
|
+
### 3.1 The Compliance Loop
|
|
68
|
+
|
|
69
|
+
**Compliance.ai's continuous feedback loop:**
|
|
70
|
+
> Signals → Triage → Plan → Build → Test → Review → Secure → Ship → Monitor → *(new signals)*
|
|
71
|
+
|
|
72
|
+
It is a **loop**, not a pipeline. It has four observable properties of a working compliance:
|
|
73
|
+
1. **Standardized inputs** — every piece of work enters the same way.
|
|
74
|
+
2. **Standardized tooling** — same tools, same rules, every time.
|
|
75
|
+
3. **Measurable output** — you can measure what came out.
|
|
76
|
+
4. **Replayability** — you can re-run a job and get the same result.
|
|
77
|
+
|
|
78
|
+
**Source:** https://compliance.ai/articles/what-is-a-software-compliance
|
|
79
|
+
|
|
80
|
+
### 3.2 The Four Subsystems (mager.co model)
|
|
81
|
+
|
|
82
|
+
1. **Intake layer** — normalize messy human input (GitHub issue, Slack, brief) into a structured task.
|
|
83
|
+
2. **Orchestrator** — "the brain"; breaks tasks down, routes to specialized agents, holds state. (Tools: LangGraph, CrewAI, OpenAI Swarm, Claude tool-use.)
|
|
84
|
+
3. **Execution layer** — specialized workers: architect, coder, reviewer, tester, documenter, deployer.
|
|
85
|
+
4. **Feedback loop** — what *makes it a compliance*: it learns from outcomes, then feeds the next run.
|
|
86
|
+
|
|
87
|
+
**Source:** https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
88
|
+
|
|
89
|
+
### 3.3 The "Task Packet" (standardized unit of work)
|
|
90
|
+
|
|
91
|
+
A compliance-ready unit of work contains (murraycole):
|
|
92
|
+
- **Objective / non-goals**
|
|
93
|
+
- **Context** (what's relevant)
|
|
94
|
+
- **Acceptance criteria**
|
|
95
|
+
- **Capabilities** (allowed/denied tools + paths)
|
|
96
|
+
- **Checks** (what will be verified)
|
|
97
|
+
- **Terminal states** (complete / retry / no-op / escalate)
|
|
98
|
+
- **Evidence**
|
|
99
|
+
- **Rollback**
|
|
100
|
+
|
|
101
|
+
This maps 1:1 to our `.compliance/envelopes/` typed handoffs and `.compliance/gates/` checks.
|
|
102
|
+
|
|
103
|
+
### 3.4 Orchestrator–Worker Pattern (Anthropic)
|
|
104
|
+
|
|
105
|
+
Anthropic's production multi-agent research system "uses an orchestrator-worker pattern, where a lead agent coordinates the process while delegating to specialized subagents that operate in parallel."
|
|
106
|
+
|
|
107
|
+
Key caveats from Anthropic (important when building compliance systems):
|
|
108
|
+
- Multi-agent systems use **~4× more tokens** than a single chat; some architectures **~15× more**.
|
|
109
|
+
- **"Most coding tasks involve fewer truly parallelizable tasks than research"** — don't fan out agents for everything.
|
|
110
|
+
- Each subagent needs: **objective, output format, tool/source guidance, and clear task boundaries**.
|
|
111
|
+
|
|
112
|
+
The escape from token explosion: **move known work out of the agent and into code.** That is precisely what disler/SSSF does (see §4).
|
|
113
|
+
|
|
114
|
+
**Source:** https://www.anthropic.com/engineering/built-multi-agent-research-system
|
|
115
|
+
|
|
116
|
+
### 3.5 Trust & Autonomy Ladder
|
|
117
|
+
|
|
118
|
+
Adoption follows a trust ladder (read-only → draft PRs → auto-merge low-risk → full autonomy on scoped tasks → full compliance). Put simply: *"match autonomy to blast radius."* (murraycole / Plannotator)
|
|
119
|
+
|
|
120
|
+
**Source:** https://murraycole.com/posts/software-compliance
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 4. IndyDevDan / disler — "Super Simple Software Compliance" (How We Use It)
|
|
125
|
+
|
|
126
|
+
> **We use disler's software compliance in several of our projects.** This section is the deep dive on how it works.
|
|
127
|
+
|
|
128
|
+
**Canonical repo:** https://github.com/disler/super-simple-software-compliance
|
|
129
|
+
**Video:** "My Super Simple Software Compliance (For Agentic Engineers)" — https://www.youtube.com/watch?v=haUfb1ievTE
|
|
130
|
+
**Channel / site:** https://www.youtube.com/@indydevdan · https://indydevdan.com
|
|
131
|
+
|
|
132
|
+
### 4.1 The Central Thesis
|
|
133
|
+
|
|
134
|
+
> "A software compliance does one thing: it gives you more leverage on your prompt. **Deterministic Python owns the graph. Coding agents are bounded nodes inside it.** An ADW script (AI Developer Workflow) 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.**"
|
|
135
|
+
|
|
136
|
+
Three actors are kept separate: **the engineer, the code, and the agents**. "The trick is not running more agents. The trick is using all three at the right moment."
|
|
137
|
+
|
|
138
|
+
### 4.2 The Core Concepts (mapped to our ruleset)
|
|
139
|
+
|
|
140
|
+
| disler/SSSF Concept | What It Is | WayOfNorthStar Equivalent |
|
|
141
|
+
|--------------------|------------|---------------------------|
|
|
142
|
+
| **ADW (AI Developer Workflow)** | Deterministic script that owns the run; names sequencing, retries, acceptance (e.g., `adw_plan_build_test`). | `.compliance/harness/runner.py` |
|
|
143
|
+
| **Agents as bounded nodes** | Agent only works inside one named phase; everything else is `kind="code"`. | `.agents/skills/NSRcompliance/` (Embedded Compliance) |
|
|
144
|
+
| **Typed JSON envelopes** | Agent responses parsed against Pydantic output types; persisted as `envelope.json`; injected into next agent. | `.compliance/harness/envelopes/` (typed JSON/YAML handoffs) |
|
|
145
|
+
| **Validation gates** | `gate(envelope, run) -> GateReport`; e.g., `artifacts_exist`, `files_non_empty`, `json_parses`, `diff_matches_claims`, `tests_pass(...)`. Success must be earned; default is `fail`. | `.compliance/gates/` (`$? == 0`) |
|
|
146
|
+
| **Core Four config** | One YAML sets Context, Model, Prompt, Tools for every agent. "It is not about which model is best; it is about which model is right for that one phase." | `.agents/skills/NSRcompliance/config/core_four.yaml` |
|
|
147
|
+
| **Observability** | Every event streams to a SQLite DB (`sssf.db`); "if you cannot measure your agents, you cannot improve them." | `.compliance/telemetry/logger.py` |
|
|
148
|
+
| **Self-healing / repair** | On gate failure: nothing restarts; the harness **re-prompts the same session** with a correction naming exactly what was wrong (costs one message, not a cold restart). | `.compliance/gates/` error-feedback loop |
|
|
149
|
+
| **"Agent proposes, code disposes"** | The agent proposes a commit message on its envelope; a `git commit` **code phase** decides and writes. The agent never runs `git commit` itself. | Our "zero ad-hoc shell commands" rule |
|
|
150
|
+
| **The skill is the product** | Packaged as a skill stamped into any repo via an installer. | `.compliance/installer/` |
|
|
151
|
+
|
|
152
|
+
### 4.3 Signature Ideas & Terminology
|
|
153
|
+
|
|
154
|
+
- **"Success must be earned. Every phase defaults to `fail`."** — gates verify claims, never predictions.
|
|
155
|
+
- **"Context transfers in code, not in conversation."** — context handoffs are files/JSON, minimizing the "game of telephone."
|
|
156
|
+
- **"Vibe coding is not knowing how your system works, and not looking. Agentic engineering is knowing how your system works so well that you do not have to look."**
|
|
157
|
+
- **Different models at different price/speed points in the same run** — model selection per phase (Core Four).
|
|
158
|
+
- Starter ADWs: `adw_plan`, `adw_build_test`, `adw_plan_build_test`, `adw_simple_sdlc`, `adw_document` (40–180 lines each).
|
|
159
|
+
- Roster config (`sssf.config.yaml`): each agent declares its `model` (provider/model-id), `thinking` level, `purpose`, prompt files, tools, and a `writes` boundary (which files it may touch).
|
|
160
|
+
- **Concrete stack:** `uv`, `pi` coding agent, `sqlite3`; `bun` for the optional visualizer.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 5. How This Maps Onto Our WayOfNorthStar Ruleset
|
|
165
|
+
|
|
166
|
+
Our ruleset already encodes the software-compliance pattern. The recipe disler describes is the *same recipe* in our documents:
|
|
167
|
+
|
|
168
|
+
| Compliance Requirement | Where We Enforce It | Evidence |
|
|
169
|
+
|--------------------|--------------------|----------|
|
|
170
|
+
| Deterministic code owns the process | `.compliance/` harness, ADW-style runner | `.compliance/harness/runner.py` |
|
|
171
|
+
| Agents are bounded nodes | `.agents/skills/` — every op is a script skill; zero ad-hoc commands | `RULES.md` rule 2 |
|
|
172
|
+
| Typed envelopes | `.compliance/harness/envelopes/` | JSON/YAML schemas |
|
|
173
|
+
| Code-based gates | `.compliance/gates/` — `$? == 0`, not text parsing | `check_env.sh`, `check_paths.sh`, `check_platform.sh`, `verify_docs.py` |
|
|
174
|
+
| Core Four config | `.agents/skills/NSRcompliance/config/core_four.yaml` | Context/Model/Prompt/Tools |
|
|
175
|
+
| Observability | `.compliance/telemetry/logger.py` | token/cost/latency logging |
|
|
176
|
+
| Multi-model per phase | `core_four.yaml` `model:` section | fast vs. reasoning model |
|
|
177
|
+
| Feedback loop + learning | Gates return diagnostics routed back to agents | validate_code.sh + runner |
|
|
178
|
+
| Installable into any repo | `.compliance/installer/` | single-command install |
|
|
179
|
+
| **Compliance as product line (multi-project)** | `HOSTING/`, `DEVELOPER_SETUP/`, `TECH_STACK.md`, `CI_CD/deployment/` per-client/tenant | they are the "standardized tooling + standardized inputs" for multiple deployments |
|
|
180
|
+
|
|
181
|
+
In short: **SSSF (disler) is a concrete implementation of the *Exact* NorthStar spec** — the same Core Four, same gates, same envelopes, same telemetry, same "code disposes." Where we extend beyond SSSF: multi-environment/per-client/per-tenant deployments, cross-platform portability (Mac/Linux/Windows), environment-driven config, per-host and per-developer documentation, and tech-stack-to-feature mapping.
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## 6. Enterprise Patterns & Real-World Examples
|
|
186
|
+
|
|
187
|
+
- **Orchestrator–worker** — dominant pattern (Anthropic, and most tooling). Lead agent delegates to specialized subagents.
|
|
188
|
+
- **MCP (Model Context Protocol) servers** — external tool access. Tool quality varies wildly; centralize tool registration, auth, guardrails, and observability (TrueFoundry's **MCP Gateway**; our embedded compliance control plane).
|
|
189
|
+
- **Agent/skill registries** — a directory of capabilities and skills (TrueFoundry's **Agent Skills Registry**; our `.agents/skills/`).
|
|
190
|
+
- **Task queues / task packets** — standardized units of work entering the line (our typed envelopes).
|
|
191
|
+
- **CI/CD feedback loops** — failing tests re-trigger the coder; monitoring alerts spawn incident agents.
|
|
192
|
+
- **Human-in-the-loop checkpoints** — review by risk tier.
|
|
193
|
+
|
|
194
|
+
**Real-world numbers (all self-reported, treat with caution):**
|
|
195
|
+
- **Stripe** — 1,300+ agent PRs/week, still human-reviewed.
|
|
196
|
+
- **Cursor** — ~40% of internal PRs.
|
|
197
|
+
- **Uber (Minion)** — ~11% of PRs.
|
|
198
|
+
- **Ramp (Inspect)** — >50% of PRs.
|
|
199
|
+
- **Ona** — 375 PRs in 10 days.
|
|
200
|
+
- **StrongDM** — runs a "dark compliance" (no human review; validate purely by observable behavior).
|
|
201
|
+
- Costs: StrongDM reported ~$1,000/day per engineer in tokens.
|
|
202
|
+
|
|
203
|
+
**Sources:**
|
|
204
|
+
- https://www.strongdm.com/blog/the-strongdm-software-compliance-building-software-with-ai
|
|
205
|
+
- https://www.truefoundry.com/blog/software-compliance-agentic-enterprise-guide
|
|
206
|
+
- https://docs.plannotator.ai/learn/ai-development/what-is-an-ai-software-compliance
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 7. Critiques & Pitfalls (What Breaks a Compliance)
|
|
211
|
+
|
|
212
|
+
1. **Agent loops / spiraling** — Anthropic's early agents "spawned 50 subagents for simple queries, scoured the web endlessly for nonexistent sources." **Mitigation:** effort budgets, scaling rules, guardrails.
|
|
213
|
+
2. **Hallucinated commands / confident wrong code** — "Left alone, an agent will confidently produce code that doesn't meet your standards." **Mitigation:** back-pressure (linters, hooks, static-analysis) inside the sandbox so agents see failures *before* the PR.
|
|
214
|
+
3. **"The agent grades its own homework"** — a self-reporting quality check is too lenient. **Your quality signal cannot be the same model that did the work.** Independent verification (a different model or a deterministic gate) is required.
|
|
215
|
+
4. **Context bloat / token explosion** — multi-agent ~4× / ~15× token multipliers. **Mitigation:** move known work (tests, lint) into code phases, as disler does.
|
|
216
|
+
5. **Cost explosion** — token spend needs budgets, governance, and spend metering (TrueFoundry's "utilities layer").
|
|
217
|
+
6. **Code-quality erosion** — GitClear's analysis of 211M changed lines found increased duplicate code and short-term churn as AI-assisted code grows. "Velocity theater" is a real failure mode.
|
|
218
|
+
7. **Silent failure is the enemy** — "your friend is visible failure, not silent failure": a capped conversation stops mid-task, a test was never really exercised, a check passed for the wrong reason. Make failure loud.
|
|
219
|
+
8. **Trust/credentials risk** — an agent that can be prompt-injected will eventually try to exfiltrate whatever credentials it can reach. **Secrets live in a control plane outside the agent sandbox.**
|
|
220
|
+
9. **Overstating maturity** — "Repeatable inputs do not guarantee good intent. More agent autonomy does not guarantee lower cost or higher quality." (Plannotator)
|
|
221
|
+
|
|
222
|
+
**Sources:**
|
|
223
|
+
- https://www.gitclear.com/ai_assistant_code_quality_2025_research
|
|
224
|
+
- https://murraycole.com/posts/software-compliance
|
|
225
|
+
- https://www.anthropic.com/engineering/built-multi-agent-research-system
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## 8. Recommendation Lens for Our Projects
|
|
230
|
+
|
|
231
|
+
Given we already run disler's SSSF and the NorthStar ruleset, treat this research as a **checklist to strengthen what we already do**:
|
|
232
|
+
|
|
233
|
+
- [ ] **Independent quality signal** — if gates still rely on the same model that did the work, add an independent verifier (different model or deterministic check).
|
|
234
|
+
- [ ] **Effort budgets per phase** — cap token spend / retries per phase (avoid agent spirals).
|
|
235
|
+
- [ ] **Visible failure** — ensure gate failures are loud and feed back to the same session (disler's correction model), not silent.
|
|
236
|
+
- [ ] **Secrets isolation** — keep credentials in the control plane `.compliance/`, never in the agent sandbox (already a NorthStar rule: env-driven, secrets never committed).
|
|
237
|
+
- [ ] **Structured task packets** — our envelopes should carry objective/non-goals/acceptance/evidence/rollback (murraycole's packet), so every new feature already contains its own verification contract.
|
|
238
|
+
- [ ] **Measure, don't guess** — keep `.compliance/telemetry/` wired to the embedded compliance telemetry stream; "if you cannot measure your agents, you cannot improve them."
|
|
239
|
+
- [ ] **Autonomy by blast radius** — per-client/per-tenant production deployments get the strictest human gate; low-risk dev loops get full autonomy.
|
|
240
|
+
- [ ] **Avoid stack sprawl** — multi-project means multi-stack; `TECH_STACK.md` is our guard against "velocity theater."
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 9. Links (Full Index)
|
|
245
|
+
|
|
246
|
+
**History & definitions**
|
|
247
|
+
- https://en.wikipedia.org/wiki/Software_compliance
|
|
248
|
+
- https://compliance.ai/articles/what-is-a-software-compliance
|
|
249
|
+
- https://www.mager.co/blog/2026-03-19-software-compliance/
|
|
250
|
+
- https://en.wikipedia.org/wiki/James_Martin_(author)
|
|
251
|
+
|
|
252
|
+
**Practitioner guides**
|
|
253
|
+
- https://murraycole.com/posts/software-compliance
|
|
254
|
+
- https://www.truefoundry.com/blog/software-compliance-agentic-enterprise-guide
|
|
255
|
+
- https://docs.plannotator.ai/learn/ai-development/what-is-an-ai-software-compliance
|
|
256
|
+
|
|
257
|
+
**disler / IndyDevDan**
|
|
258
|
+
- https://github.com/disler/super-simple-software-compliance
|
|
259
|
+
- https://www.youtube.com/watch?v=haUfb1ievTE
|
|
260
|
+
- https://www.youtube.com/@indydevdan
|
|
261
|
+
- https://indydevdan.com
|
|
262
|
+
|
|
263
|
+
**Engineering / research**
|
|
264
|
+
- https://www.anthropic.com/engineering/built-multi-agent-research-system
|
|
265
|
+
- https://www.strongdm.com/blog/the-strongdm-software-compliance-building-software-with-ai
|
|
266
|
+
- https://www.gitclear.com/ai_assistant_code_quality_2025_research
|
|
267
|
+
|
|
268
|
+
**The video that started this research**
|
|
269
|
+
- "First loops, now software factories? I can't keep up..." — https://m.youtube.com/watch?v=ucWRQ1yf6HE
|