ibexharness
DocsBlogReleasesRoadmap
GitHub
ibexharness

Documentation

Architecture Decision RecordsADR-0002: Repository foundation bootstrapADR-0003: Branch protection and merge policyADR-0004: Protobuf and code generation policyADR-0005: Postgres migration strategyADR-0006: Auth protobuf contract (`ibex.auth.v1`)ADR-0007: Auth token validation implementationADR-0008: Security scanning and CI quality gatesADR-0009: Permission bitmap layoutADR-0010: Cryptography policyADR-0011: Proxy auth gRPC client and middlewareADR-0012: Proxy request normalization (OpenAI chat)ADR-0013: Proxy input validation and stable error envelopeADR-0014: Core domain migration sequencingADR-0015: Proxy rate limit skeleton (Phase 1)ADR-0016: Proxy agent identity verification (Phase 1)ADR-0017: Request ID and trace context strategy (Phase 1)ADR-0018: Graceful shutdown contract (Phase 1)ADR-0019: OpenTelemetry provider configuration (Phase 1)ADR-0020: Shared package boundaries — `packages/config` and `packages/apierror`ADR-0021: Prometheus Metric Catalog (Phase 1)ADR-0022: Health check contract (Phase 1)ADR-0023: Docs site architecture (Phase 1.5)
ADRs›ADR-0002: Repository foundation bootstrap
ADRs

ADR-0002: Repository foundation bootstrap

Architecture decision record 0002.

ADR-0002: Repository foundation bootstrap

  • Status: Accepted
  • Date: 2026-05-30
  • Authors: IBEX Harness team

Context

Documentation and AI guardrails exist, but the repo lacked hygiene files, CI enforcement, ADR directory, and stable top-level paths before implementation.

Decision

  1. Hygiene: Add .gitignore, .editorconfig, .gitattributes; license set to MIT (LICENSE).
  2. CI (PR-only, fast): Structural markdown lint, gitleaks, forbidden-file checks, repo layout guard. No language build/test until services exist.
  3. Markdown policy: markdownlint-cli2 tuned via .markdownlint-cli2.jsonc — style rules (MD013, MD022, MD024, MD029, MD032, MD056, MD060, etc.) disabled for existing reference docs; structural rules (fences MD031/MD040, link integrity) remain enabled. Tighten rules incrementally as docs are normalized.
  4. Dependabot: Enable github-actions weekly updates; enable root gomod when go.mod exists at repo root (ADR-0008). Enable pip / npm when memory/dashboard manifests exist (see .github/dependabot.yml comments).
  5. Branch: Rename default branch master → main to match DEVELOPMENT_GUIDE.md and DEPLOYMENT.md.
  6. Scaffold dirs: Create services/, packages/, infra/ with README stubs only (no service code in this ADR).
  7. Templates: PR template aligned with DEVELOPMENT_GUIDE §7.2; bug/feature/security issue templates.

Consequences

Positive

  • Implementation PRs cannot accidentally commit .env or break doc structure.
  • Stable paths for AI agents and humans.

Negative

  • main rename requires one-time remote/default-branch update on GitHub.
  • License chosen as MIT (2026); update copyright holder name if the legal entity changes.

Alternatives considered

OptionWhy not
Full CI with Go/Python/TS nowNo code; would be red or meaningless
Renovate instead of DependabotDependabot is native to GitHub; sufficient for now
Keep masterDocs already standardize on main

License

MIT — see LICENSE at repository root (added after initial bootstrap).

References

  • FILE_STRUCTURE.md
  • DEPLOYMENT.md §5
  • DEPENDENCIES.md

Was this page helpful?

Edit on GitHub

Last updated on

PreviousArchitecture Decision RecordsNextADR-0003: Branch protection and merge policy

On this page

  • Context
  • Decision
  • Consequences
  • Positive
  • Negative
  • Alternatives considered
  • License
  • References
0%