LydianAI Open-source tooling

← All docs

Assurance-as-Code

Creating a project

Set up a SW System project with the applicable ASIL level and standards profile.


Creating a SW System project

A project in Assurance-as-Code represents a SW System — the software being developed and assessed. Before you create any artifacts, you define the project’s profile: which standards apply, what ASIL level the system is developed to, and who has access.


What a project profile controls

Profile settingWhat it affects
ASIL levelWhich artifact types are mandatory, and what validation rules apply
Applicable standardsWhich regulation sections the validation rule catalog checks against
Team members and rolesWho can create, review, approve, and release artifacts

Supported ASIL levels: QM, A, B, C, D

Supported standards: ISO_26262, UNECE_R155, UNECE_R156, ISO_29119


Creating a project via the web console

  1. Open the web console at http://localhost
  2. Click New project
  3. Fill in the project name and a short description
  4. Select the ASIL level for this SW System
  5. Check the standards that apply to this project
  6. Click Create

The project is created with an empty artifact store and the validation rule catalog loaded for your profile.


Creating a project via the API

curl -X POST http://localhost/api/projects \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-token>" \
  -d '{
    "name": "OTA Update Manager v2",
    "description": "Software update service for gateway ECU — subject to UNECE R156",
    "asil_level": "B",
    "standards": ["UNECE_R155", "UNECE_R156", "ISO_29119"]
  }'

The response includes the new project’s id, which you will use in all subsequent API calls for this project.


Understanding project roles

RoleWhat they can do
ownerFull access, including deleting the project and managing members
contributorCreate and edit artifacts; move items to under_review
reviewerApprove artifacts (move to reviewed or approved)
readerRead-only access to all artifacts and baselines

Assign roles when adding team members:

curl -X POST http://localhost/api/projects/<project-id>/members \
  -H "Authorization: Bearer <your-token>" \
  -d '{"user_id": "user-123", "role": "reviewer"}'

Importing from Sphinx-Needs

If your team already manages requirements in Sphinx-Needs, you can import an existing needs JSON export directly:

curl -X POST http://localhost/api/projects/<project-id>/import/sphinx-needs \
  -H "Authorization: Bearer <your-token>" \
  -F "file=@needs.json"

Imported items arrive in draft state. Conflicts (items with matching IDs that already exist) are flagged for review rather than overwritten.


Next steps