Visão geral da arquitetura
As superfícies que compõem o Orvienm e onde fica a fronteira entre elas.
Duas coisas com que você interage
O Orvienm é um engine de linha de comando que opera sobre um workspace. São dois artefatos e um programa.
- A especificação — um arquivo YAML que declara um nome de estrutura e os diretórios que ela deve conter. Você a escreve e a versiona.
- O workspace — a árvore de diretórios que o engine cria e inspeciona, mais o arquivo
.orv.lockque registra a especificação a partir da qual ela foi construída.
O engine lê o primeiro, reconcilia o segundo em direção a ele e encerra. Nada roda em segundo plano.
Fluxo de dados
você ── escreve ──▶ .orvienm.yaml
│
▼
orvienm CLI
│
┌──────────────┼──────────────┐
▼ ▼ ▼
validate plan apply
(só o (somente (cria
arquivo) leitura) diretórios)
│ │
▼ ▼
workspace ◀── .orv.lock
│
▼
verify · status · doctorSuperfícies
- Engine — o pacote Python e seu comando
orvienm. Este é o produto: parse, validação, planejamento, aplicação, verificação e fingerprint vivem todos aqui. Distribuído como Alpha a partir do código-fonte. - Platform — este site. Ele documenta o engine e não contém lógica de produto.
- Studio — uma superfície interativa separada, em desenvolvimento ativo em Alpha. Não está disponível publicamente e não é necessária para usar o engine.
As superfícies são independentes. Tudo o que está documentado em Recursos é comportamento do engine, alcançável apenas pela CLI.
Onde ficam as responsabilidades
- A especificação governa a intenção — quais diretórios devem existir e sob qual nome.
- O engine governa a criação e a comparação. Ele escreve apenas os diretórios que lhe mandaram criar.
- O lock file governa o registro de qual especificação um workspace foi construído, e nada além disso.
- Você governa tudo o que a especificação não menciona. O engine reporta diretórios não declarados, mas nunca os remove.
Limites deliberados
O engine gerencia diretórios. Ele não gerencia conteúdo de arquivos, permissões ou propriedade; não executa builds; não observa o sistema de arquivos; e não guarda histórico além do único lock file.
Para a visão em nível de módulo do próprio engine, veja Projeto do Engine.