Skip to content

Contracts

Documentation Contract

  • docs/index.md is the human-facing entrypoint for the repo.
  • Active design pages are the primary narrative surface for current design intent.
  • ADR pages capture durable decisions and should not be buried inside active-design summaries.

Repo Scope Contract

  • This repo is for developer-facing Odoo/ERP design guidance.
  • Keep Odoo transaction, inventory, CRM, people, and ov.* model semantics explicit.
  • Do not collapse ABS asset semantics into Odoo semantics when the system boundary matters.

Cross-Repo Contract

  • dirac-odoo owns Odoo-centric semantics and model-extension guidance.
  • dirac-abs owns ABS asset, entitlement, bundle, and IoT/device behavior.
  • emob-commercial-models owns operations-facing and commercial-facing process framing built on top of both systems.
  • Use PA as the current portal-app language. Treat OVApp as legacy wording unless historical reference is required.
  • Treat Odoo business transactions as the source of truth for entitlement and pricing. ABS enforces and substantiates entitlement in physical and IoT operations.
  • Use Odoo stock and inventory constructs as the current asset anchor. A location hosts a collection of serials, and Odoo ensures one unique location for an asset at a given time.
  • Reserve service template for commercial packaging and service model for ABS runtime behavior.
  • Treat docs/reference/repo-boundaries.md as the stable reader-facing summary of that split.
  • If repos disagree:
  • emob-commercial-models wins on functional intent
  • dirac-odoo wins on Odoo implementation
  • dirac-abs wins on ABS implementation

Build Contract

  • Root mkdocs.yml is the MkDocs entrypoint for local review and build.
  • Generated site/ output is not source of truth.