OSVauco/docs/DECISIONS.md

3.5 KiB

Architectural Decision Log

D-001: Git/Gitea as the Source of Truth for Versioned Artifacts

Status: Accepted

Date: 2026-09-20

Decision: Git/Gitea is the authoritative source for versioned repository artifacts: source code, committed configuration, documentation, and commit history. Remote branch state and immutable commit SHA are canonical references for code state.

Reason: To ensure consistency and avoid drift between different sources, a single, version-controlled repository must be the ultimate authority for versioned artifacts. This prevents ambiguity and provides a reliable foundation for development and auditing. Existing documentation (.gemini/GEMINI.md, docs/HANDOFF.md) already establishes this convention for code. This decision formalizes the scope of that authority.

Consequences:

  • All work on versioned artifacts must be committed to Gitea to be considered canonical.
  • Other sources (local workstations, chat history) are considered non-authoritative for versioned artifacts.
  • Automation and deployment pipelines must pull code and configuration from the Gitea repository.
  • Live cloud state, including deployed revisions, traffic, build status, IAM, VPC Service Controls, and runtime configuration, must be determined through live read-only platform/API verification, not from Git alone.

Verification / rollback:

  • Verification: git remote -v should show Gitea as the origin.
  • Rollback: Not applicable.

D-002: WORKING_STATE.md as Canonical Handoff

Status: Proposed

Date: 2026-09-20

Decision: docs/WORKING_STATE.md will serve as the canonical, versioned handoff document for human and agent operators. It provides a concise, structured overview of the current project state.

Reason: The project needs a single, easily parsable document to answer critical questions about the current state of work. While docs/HANDOFF.md has served this purpose, a more structured format is needed to ensure clarity and reduce ambiguity for automated agents.

Consequences:

  • All operators (human and agent) must consult docs/WORKING_STATE.md at the beginning of a session.
  • The file must be kept up-to-date as the project state changes.
  • This document records intended and last-verified operational status, but it does not replace the need for live verification of cloud resources.

Verification / rollback:

  • Verification: The file exists and is readable. Agents and operators can successfully parse it to determine the project state.
  • Rollback: Revert to using docs/HANDOFF.md as the primary handoff document.

D-003: Immutable Commit SHAs for Deployment

Status: Accepted

Date: 2026-09-20

Decision: All deployment requests and processes must resolve a mutable branch name to an immutable 40-character commit SHA before source retrieval and build submission.

Reason: Using commit SHAs ensures that deployments are deterministic, reproducible, and auditable. A branch name can move, leading to ambiguity about what code is actually being deployed. This principle is critical for stability and security.

Consequences:

  • Deployment systems must be designed to work with commit SHAs, not just branch names.
  • Tooling must exist to resolve a branch to its current HEAD SHA at the time of deployment.

Verification / rollback:

  • Verification: Inspect the implemented deploy-MCP path and build submission request once that implementation exists. Do not infer compliance solely from documentation.
  • Rollback: Not applicable. This is a fundamental best practice.