Argus0.1.5

Project

Contributing & project

This page is deliberately short: the canonical project documents live in the repository, next to the code they govern, and this site links to them rather than duplicating them. (They are repo files, not site pages — open them in your checkout or on the repo host.)

Document Path in the repo What it covers
Contributing guide CONTRIBUTING.md Development setup, repository conventions (tests in __tests__/, zod at every boundary, no credentials anywhere, the eval gate), commit style, and the pre-PR verification checklist
Security policy SECURITY.md How to report a vulnerability, scope, supported versions
Changelog CHANGELOG.md Keep-a-Changelog format, one entry per release
License LICENSE Proprietary — exclusive to First Abu Dhabi Bank PJSC, AI Innovation Hub

Releases and versioning

Argus follows semantic versioning (pre-1.0: interfaces and schemas may still change between minor versions). A release is one immutable container image carrying two tags — the semver and the short git sha — so a deployment is pinned by release while incidents are traced by exact commit. Never deploy :latest.

Cutting a release is automated — the version and changelog entry are derived from the conventional-commit history:

  1. Previewnpm run release:dry shows the version bump and changelog entry without touching anything.
  2. Releasenpm run release bumps + writes the changelog + commits + tags; a pre-gate refuses if typecheck, tests, or evals are red.
  3. Pushgit push --follow-tags; the tag triggers the image build with both tags baked.
Rolling back

Roll back by redeploying the previous image tag — never by editing an applied DB migration, which would diverge from the checksummed migration history. Add a new forward migration instead.

Filing issues

Bug reports and feature requests go to the project's work items board: dev.azure.com/FABAIInnovationHUB/AI Commons → Boards. For anything security-sensitive, follow SECURITY.md instead of opening a public work item.

The quality gate

No model, prompt, or rules change ships without a recorded eval run — see Evals & quality — and every PR runs the same gates CI runs: npx tsc -b --force, npx vitest run, npm run evals, and npm run docs:build (CONTRIBUTING.md has the full checklist).