@orkastery/cli 0.2.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +86 -65
- package/adapters/README.md +30 -15
- package/adapters/claude-code/.claude-plugin/plugin.json +11 -5
- package/adapters/claude-code/README.md +110 -8
- package/adapters/claude-code/commands/check.md +4 -3
- package/adapters/claude-code/commands/goal.md +3 -2
- package/adapters/claude-code/commands/master.md +3 -2
- package/adapters/claude-code/commands/onboarding.md +21 -0
- package/adapters/claude-code/commands/ork.md +99 -27
- package/adapters/claude-code/hooks/hooks.json +6 -1
- package/adapters/claude-code/hooks/ork-guard.js +1 -1
- package/adapters/claude-code/hooks/ork-sensor.js +66 -0
- package/adapters/codex/skills/ork/SKILL.md +57 -0
- package/adapters/hermes/README.md +161 -0
- package/adapters/hermes/bin/ork-abrir-thread.sh +2 -0
- package/adapters/hermes/bin/ork-brain.sh +4 -0
- package/adapters/hermes/bin/ork-hitl-answer.py +82 -0
- package/adapters/hermes/bin/ork-maestro.sh +6 -0
- package/adapters/hermes/bin/ork-master-enviar.py +84 -0
- package/adapters/hermes/bin/ork-pulse-enviar.py +47 -0
- package/adapters/hermes/hermes.plugin.json +24 -4
- package/adapters/hermes/hitl-ingress/__init__.py +356 -0
- package/adapters/hermes/hitl-ingress/plugin.yaml +4 -0
- package/adapters/hermes/skills/orkastery-devmaster/SKILL.md +75 -22
- package/adapters/openclaw/README.md +136 -27
- package/adapters/openclaw/bin/ork-brain.sh +4 -0
- package/adapters/openclaw/construir.sh +19 -0
- package/adapters/openclaw/dist/hitl-ingress.js +199 -0
- package/adapters/openclaw/dist/index.js +437 -0
- package/adapters/openclaw/openclaw.plugin.json +39 -134
- package/adapters/openclaw/package.json +26 -0
- package/adapters/openclaw/src/hitl-ingress.ts +180 -0
- package/adapters/openclaw/src/index.ts +460 -0
- package/adapters/openclaw/src/tipos-openclaw.d.ts +58 -0
- package/adapters/openclaw/tsconfig.json +15 -0
- package/assets/docs/markdownlint-cli2.jsonc +22 -0
- package/assets/docs/padroes/documentacao-de-produto.md +133 -0
- package/assets/docs/padroes/roadmap-de-produto.md +98 -0
- package/assets/docs/produto/README.md +14 -0
- package/assets/docs/produto/_modelo-feature.md +59 -0
- package/assets/docs/roadmap/README.md +14 -0
- package/assets/docs/roadmap/_modelo-item.md +73 -0
- package/assets/orkmind-native-schema.json +32 -0
- package/assets/orkmind_bridge.py +357 -0
- package/assets/orkmind_fixture.py +67 -0
- package/assets/orkmind_prospective.py +138 -0
- package/assets/reference-tariffs-i07.json +23 -0
- package/dist/adapters/claude-bg.js +488 -39
- package/dist/adapters/codex-controller-sensor.js +449 -0
- package/dist/adapters/codex-controller-worker.js +361 -0
- package/dist/adapters/codex-controller.js +252 -0
- package/dist/adapters/codex-events.js +205 -0
- package/dist/adapters/codex-question.js +26 -0
- package/dist/adapters/codex-runner.js +133 -0
- package/dist/adapters/codex.js +394 -0
- package/dist/agents-md.js +84 -0
- package/dist/auditoria.js +12 -9
- package/dist/auditrun.js +5 -4
- package/dist/board.js +174 -23
- package/dist/branch-de-estado.js +136 -0
- package/dist/canarios-hitl.js +177 -0
- package/dist/canarios-i43.js +543 -0
- package/dist/canarios-pulse.js +147 -0
- package/dist/canarios-sensores.js +129 -0
- package/dist/canarios.js +111 -2
- package/dist/catalogo.js +9 -0
- package/dist/ci.js +223 -0
- package/dist/ciclos.js +2 -1
- package/dist/claim-lint.js +64 -0
- package/dist/claims.js +60 -0
- package/dist/company-brain-capture.js +195 -0
- package/dist/company-brain-cli.js +123 -0
- package/dist/company-brain-client.js +61 -0
- package/dist/company-brain-contract.js +166 -0
- package/dist/company-brain-journal.js +192 -0
- package/dist/company-brain-mcp.js +33 -0
- package/dist/company-brain-migration.js +60 -0
- package/dist/company-brain-source.js +177 -0
- package/dist/company-brain-worker.js +18 -0
- package/dist/conducao-texto.js +61 -0
- package/dist/conducao.js +876 -0
- package/dist/contrato-publico.js +39 -0
- package/dist/creation-operation-store.js +251 -0
- package/dist/creation-operation.js +148 -0
- package/dist/decisao-autonoma.js +183 -0
- package/dist/delegation.js +79 -0
- package/dist/demo.js +120 -0
- package/dist/docs.js +828 -0
- package/dist/doctor.js +184 -25
- package/dist/entrega-pr.js +117 -0
- package/dist/escopo-escrita.js +71 -0
- package/dist/estado-thread.js +222 -0
- package/dist/evalrunner.js +12 -0
- package/dist/fabrica-estado.js +329 -0
- package/dist/fabrica-publicar.js +76 -0
- package/dist/fix.js +22 -1
- package/dist/gates.js +59 -11
- package/dist/handoff.js +39 -23
- package/dist/hitl-canais.js +333 -0
- package/dist/hitl-classificacao.js +131 -0
- package/dist/hitl-contract.js +465 -0
- package/dist/hitl-estado.js +136 -0
- package/dist/hitl-gates.js +554 -0
- package/dist/hitl-ingress-receipt.js +382 -0
- package/dist/hitl-local-atestado.js +57 -0
- package/dist/hitl-local-receipt.js +328 -0
- package/dist/hitl-local.js +143 -0
- package/dist/hitl-lock.js +139 -0
- package/dist/hitl-lote.js +223 -0
- package/dist/hitl-native-offer.js +97 -0
- package/dist/hitl-native.js +65 -0
- package/dist/hitl-presentation.js +209 -0
- package/dist/hitl-public-receipt.js +176 -0
- package/dist/hitl-resumo.js +209 -0
- package/dist/hitl-sessions.js +475 -0
- package/dist/hitl.js +711 -0
- package/dist/horario.js +269 -0
- package/dist/hosts.js +198 -22
- package/dist/index.js +1741 -94
- package/dist/indice.js +99 -0
- package/dist/init.js +28 -3
- package/dist/integracoes-locais.js +17 -0
- package/dist/leases.js +65 -21
- package/dist/ledger-stats.js +272 -0
- package/dist/ledger.js +109 -2
- package/dist/licoes.js +221 -0
- package/dist/liveness.js +218 -0
- package/dist/maestro-actions.js +51 -0
- package/dist/maestro-authority.js +152 -0
- package/dist/maestro-cli.js +97 -0
- package/dist/maestro-contract.js +55 -0
- package/dist/maestro-discovery.js +132 -0
- package/dist/maestro-runtime.js +268 -0
- package/dist/maestro-snapshot.js +86 -0
- package/dist/maestro-sources.js +224 -0
- package/dist/manifest.js +165 -6
- package/dist/maquina.js +102 -0
- package/dist/master-audit.js +101 -0
- package/dist/master-batch.js +43 -0
- package/dist/master-digest.js +149 -0
- package/dist/master-migracao.js +155 -0
- package/dist/master.js +361 -77
- package/dist/mcp-artifacts.js +234 -0
- package/dist/mcp-git.js +433 -0
- package/dist/mcp-install.js +310 -0
- package/dist/mcp-maestro.js +25 -0
- package/dist/mcp-server.js +469 -0
- package/dist/mcp-ship.js +436 -0
- package/dist/mcp-verify.js +173 -0
- package/dist/memoria-humana.js +207 -0
- package/dist/memoria.js +314 -78
- package/dist/memory-migration.js +279 -0
- package/dist/memory-prospective.js +148 -0
- package/dist/modos-migracao.js +191 -0
- package/dist/modos.js +151 -15
- package/dist/monitor-lock.js +110 -0
- package/dist/objective.js +449 -0
- package/dist/ocupacao.js +267 -0
- package/dist/onboarding.js +303 -0
- package/dist/orkmind.js +389 -90
- package/dist/orquestracao.js +96 -69
- package/dist/phase.js +612 -151
- package/dist/playbook-capabilities.js +150 -0
- package/dist/playbook-contracts.js +188 -0
- package/dist/policies.js +72 -0
- package/dist/portfolio-context.js +61 -0
- package/dist/portfolio.js +180 -0
- package/dist/preflight.js +207 -0
- package/dist/process-audit.js +112 -0
- package/dist/project-state.js +93 -0
- package/dist/prompts.js +25 -5
- package/dist/prova-minima.js +112 -0
- package/dist/pulse-cadencia.js +163 -0
- package/dist/pulse-consentimento.js +260 -0
- package/dist/pulse-delivery.js +323 -0
- package/dist/pulse-resposta.js +542 -0
- package/dist/pulse.js +262 -0
- package/dist/ratelimit.js +35 -2
- package/dist/recall.js +80 -3
- package/dist/redacao-saida.js +45 -0
- package/dist/redacao-url.js +66 -0
- package/dist/retry.js +640 -118
- package/dist/roadmap-reservas.js +243 -0
- package/dist/runtime-ambiente.js +38 -0
- package/dist/runtime-context.js +215 -0
- package/dist/runtime-profiles.js +869 -0
- package/dist/runtimes.js +103 -0
- package/dist/sandbox.js +9 -0
- package/dist/session-events.js +203 -0
- package/dist/session-watcher-claude.js +637 -0
- package/dist/session-watcher.js +700 -0
- package/dist/sessoes-adopt.js +154 -0
- package/dist/sessoes-inventario.js +159 -0
- package/dist/sessoes.js +16 -35
- package/dist/setup.js +691 -0
- package/dist/ship.js +168 -19
- package/dist/slug.js +1 -1
- package/dist/thread-close.js +115 -0
- package/dist/thread.js +142 -28
- package/dist/tokens.js +1 -1
- package/dist/util.js +4 -2
- package/dist/verify-sandbox.js +265 -0
- package/dist/verify.js +270 -25
- package/dist/versao.js +60 -0
- package/dist/worktree.js +31 -2
- package/dist/write-activation.js +291 -0
- package/dist/yaml.js +5 -1
- package/eval/casos/master-metrics.json +1 -1
- package/eval/casos/onboarding.json +102 -0
- package/eval/casos/orkastery-bootstrap.json +37 -3
- package/eval/casos/scope-check-capability-map.json +45 -7
- package/eval/casos/ship-release.json +3 -3
- package/eval/fixtures/b0-slug-e-modos/caso.json +35 -22
- package/eval/fixtures/b2-master-log/caso.json +1 -1
- package/eval/fixtures/fx-adapter-editado-detectado/caso.json +19 -0
- package/eval/fixtures/fx-auto-quiet/caso.json +11 -0
- package/eval/fixtures/fx-blanket-approve/caso.json +10 -0
- package/eval/fixtures/fx-check-runtime-cruzado/caso.json +20 -0
- package/eval/fixtures/fx-codex-dry/caso.json +18 -0
- package/eval/fixtures/fx-donewhen-executavel/caso.json +15 -0
- package/eval/fixtures/fx-estado-dividido/caso.json +15 -0
- package/eval/fixtures/fx-fase-orfa/caso.json +116 -0
- package/eval/fixtures/fx-happy/caso.json +6 -4
- package/eval/fixtures/fx-hitl-latency/caso.json +20 -0
- package/eval/fixtures/fx-indice-reversao/caso.json +25 -0
- package/eval/fixtures/fx-listagem-abertas/caso.json +16 -0
- package/eval/fixtures/fx-maestro-bootstrap/caso.json +21 -0
- package/eval/fixtures/fx-modo-aposentado-escritor/caso.json +21 -0
- package/eval/fixtures/fx-modo-aposentado-leitor/caso.json +16 -0
- package/eval/fixtures/fx-objective-oscillation/caso.json +14 -0
- package/eval/fixtures/fx-omnicanal/caso.json +17 -0
- package/eval/fixtures/fx-sensores-runtime/caso.json +17 -0
- package/monitor/company-brain.cjs +17 -0
- package/monitor/pulse-scope.cjs +45 -0
- package/monitor/pulse.cron +18 -0
- package/monitor/varredura-pulse.sh +27 -0
- package/package.json +28 -7
- package/references/definition-of-done.md +2 -2
- package/schemas/claims.schema.json +25 -0
- package/schemas/company-brain.schema.json +1158 -0
- package/schemas/creation-operation.schema.json +365 -0
- package/schemas/maestro-snapshot.schema.json +2716 -0
- package/skills/README.md +3 -3
- package/skills/core/onboarding/SKILL.md +50 -0
- package/skills/core/orkastery-bootstrap/SKILL.md +95 -65
- package/skills/core/thread-state/SKILL.md +3 -1
- package/skills/governance/decision-triage/SKILL.md +4 -4
- package/skills/governance/narrative-guardian/SKILL.md +1 -1
- package/skills/governance/roadmap-keeper/SKILL.md +1 -1
- package/skills/governance/scope-check-capability-map/SKILL.md +17 -7
- package/skills/observability/thread-tracing/SKILL.md +1 -1
- package/skills/phases/check-quality/SKILL.md +2 -2
- package/skills/phases/goal-definition/SKILL.md +1 -1
- package/skills/phases/master-metrics/SKILL.md +9 -7
- package/skills/phases/plan-specification/SKILL.md +1 -1
- package/skills/phases/ship-release/SKILL.md +1 -1
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos minimos do SDK de plugins do OpenClaw usados por este adapter.
|
|
3
|
+
*
|
|
4
|
+
* O modulo real e resolvido em runtime pelo proprio loader do OpenClaw (alias
|
|
5
|
+
* `openclaw/plugin-sdk/*`); esta declaracao existe so para o tsc compilar sem
|
|
6
|
+
* depender do pacote openclaw no repositorio. As formas espelham
|
|
7
|
+
* `docs/plugins/tool-plugins.md` do OpenClaw 2026.7.1.
|
|
8
|
+
*/
|
|
9
|
+
declare module 'openclaw/plugin-sdk/tool-plugin' {
|
|
10
|
+
/** Schema JSON literal: objeto simples, sem dependencia de typebox (decisao D1). */
|
|
11
|
+
export type SchemaJson = Record<string, unknown>;
|
|
12
|
+
|
|
13
|
+
export interface ContextoDaTool {
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
toolCallId?: string;
|
|
16
|
+
onUpdate?: (atualizacao: unknown) => void;
|
|
17
|
+
api?: unknown;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Inspeção do SDK instalado, hook-types-DQ9eTy2x.d.ts: campos de inbound_claim.
|
|
21
|
+
// Opcionais no SDK; ingresso nativo exige presença e igualdade com o binding.
|
|
22
|
+
export interface IdentidadeInboundClaim {
|
|
23
|
+
sessionKey?: string;
|
|
24
|
+
commandAuthorized?: boolean;
|
|
25
|
+
senderIsOwner?: boolean;
|
|
26
|
+
accountId?: string;
|
|
27
|
+
senderId?: string;
|
|
28
|
+
conversationId?: string;
|
|
29
|
+
messageId?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface DefinicaoDeTool {
|
|
33
|
+
name: string;
|
|
34
|
+
label?: string;
|
|
35
|
+
description: string;
|
|
36
|
+
parameters?: SchemaJson;
|
|
37
|
+
optional?: boolean;
|
|
38
|
+
execute?: (
|
|
39
|
+
params: Record<string, unknown>,
|
|
40
|
+
config: Record<string, unknown>,
|
|
41
|
+
contexto: ContextoDaTool
|
|
42
|
+
) => unknown | Promise<unknown>;
|
|
43
|
+
factory?: (contexto: { api: unknown; config: unknown; toolContext: unknown }) => unknown;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export type FabricaDeTool = (definicao: DefinicaoDeTool) => DefinicaoDeTool;
|
|
47
|
+
|
|
48
|
+
export interface DefinicaoDoPlugin {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
description: string;
|
|
52
|
+
configSchema?: SchemaJson;
|
|
53
|
+
activation?: { onStartup?: boolean };
|
|
54
|
+
tools: (tool: FabricaDeTool) => DefinicaoDeTool[];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function defineToolPlugin(definicao: DefinicaoDoPlugin): unknown;
|
|
58
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "ES2022",
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"moduleResolution": "NodeNext",
|
|
6
|
+
"outDir": "dist",
|
|
7
|
+
"rootDir": "src",
|
|
8
|
+
"strict": true,
|
|
9
|
+
"declaration": false,
|
|
10
|
+
"skipLibCheck": true,
|
|
11
|
+
"types": ["node"],
|
|
12
|
+
"typeRoots": ["../../core/node_modules/@types"]
|
|
13
|
+
},
|
|
14
|
+
"include": ["src"]
|
|
15
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Padronizacao de Markdown da documentacao de produto e do roadmap (Orkastery, I-44).
|
|
2
|
+
// Divisao de trabalho: este linter cobre a FORMA do Markdown; `ork docs verificar` cobre
|
|
3
|
+
// frontmatter, leitura (TDAH), paridade com o codigo e com o git.
|
|
4
|
+
{
|
|
5
|
+
"globs": [
|
|
6
|
+
"docs/produto/**/*.md",
|
|
7
|
+
"docs/roadmap/**/*.md",
|
|
8
|
+
"docs/padroes/**/*.md",
|
|
9
|
+
"README.md"
|
|
10
|
+
],
|
|
11
|
+
"config": {
|
|
12
|
+
"default": true,
|
|
13
|
+
// Prosa em portugues nao quebra linha em 80 colunas: um paragrafo e uma linha.
|
|
14
|
+
"MD013": false,
|
|
15
|
+
// "Historico" e "Comportamento" repetem entre paginas, nunca entre irmaos do mesmo titulo.
|
|
16
|
+
"MD024": { "siblings_only": true },
|
|
17
|
+
// O modelo usa a mesma forma de lista ordenada que o padrao do dono.
|
|
18
|
+
"MD029": { "style": "one_or_ordered" },
|
|
19
|
+
// HTML so para imagem, selo e dobra de detalhe; layout em HTML esconde a resposta da primeira linha.
|
|
20
|
+
"MD033": { "allowed_elements": ["img", "picture", "source", "br", "sub", "sup", "kbd", "details", "summary"] }
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Padrão de documentação de produto de software
|
|
2
|
+
|
|
3
|
+
> Versão 1.1 · Aplicação: plataformas, sistemas, módulos e funcionalidades · Documento complementar: [Padrão de roadmap de produto](roadmap-de-produto.md)
|
|
4
|
+
>
|
|
5
|
+
> A versão 1.1 mantém a 1.0 e acrescenta a seção 6 (três leitores e fatos de SDLC) e o frontmatter do modelo, que o `ork docs verificar` confere.
|
|
6
|
+
|
|
7
|
+
## 1. Objetivo e unidade documental
|
|
8
|
+
|
|
9
|
+
Este padrão descreve **o produto e seu comportamento verificável**, do contexto da plataforma aos contratos técnicos. Crie uma página por entidade relevante; uma funcionalidade (`Feature`) é a unidade recomendada para especificar comportamento. Detalhes volumosos, como contratos OpenAPI e esquemas de dados, podem ficar em arquivos próprios, ligados por identificadores estáveis.
|
|
10
|
+
|
|
11
|
+
Use a hierarquia `Plataforma → Sistema/Serviço → Módulo → Submódulo/Domínio → Feature`. Um caso de uso pertence a uma feature; uma operação representa uma ação dessa feature. Entidades e campos descrevem dados; APIs, endpoints, eventos, gatilhos e jobs descrevem interfaces e execução. Um mesmo serviço ou contrato pode atender várias features: mantenha uma fonte canônica e faça referências, sem copiar definições divergentes.
|
|
12
|
+
|
|
13
|
+
O **roadmap** registra problemas, hipóteses, escolhas, prioridades e andamento das mudanças. Esta documentação registra o comportamento vigente e, quando necessário, a especificação futura explicitamente identificada. Relacione ambos por IDs e links; não trate proposta como funcionalidade já entregue.
|
|
14
|
+
|
|
15
|
+
## 2. Convenções obrigatórias
|
|
16
|
+
|
|
17
|
+
| Regra | Aplicação |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| Identidade | Atribua IDs estáveis, por exemplo `PLAT-01`, `SYS-01`, `MOD-01`, `FEAT-042`, `UC-042-01`, `BR-042-01`, `API-01`, `EVT-01`, `JOB-01` e `RM-042`. Renomear não muda o ID. |
|
|
20
|
+
| Escopo e estado | Informe se a página descreve `vigente`, `em desenvolvimento`, `proposto` ou `descontinuado`, com ambiente, versão e data de verificação. |
|
|
21
|
+
| Rastreabilidade | Ligue feature ↔ item de roadmap ↔ casos de uso/regras ↔ contratos/esquemas ↔ código/PR ↔ testes/evidências ↔ release. Use `Não aplicável — motivo` quando uma seção não fizer sentido. |
|
|
22
|
+
| Fonte | Diferencie `confirmado` (código, contrato, teste ou decisão aprovada), `planejado` (item de roadmap) e `a validar`. Nunca complete uma lacuna por inferência silenciosa. |
|
|
23
|
+
| Forma | Use português claro; preserve nomes exatos de código, endpoints, flags e eventos em crases. Datas em ISO 8601 com fuso; unidades explícitas. |
|
|
24
|
+
| Responsabilidade | Registre owner humano da página, aprovador técnico quando aplicável e última revisão. Um agente de IA pode propor alterações, com fonte e revisão humana definidas pelo time. |
|
|
25
|
+
| Histórico | Mudanças de comportamento exigem atualização da página e ligação ao item de roadmap/release; decisões técnicas relevantes apontam para um ADR. |
|
|
26
|
+
|
|
27
|
+
## 3. Categorias de documentação
|
|
28
|
+
|
|
29
|
+
Preencha os campos aplicáveis. Para entidades reutilizáveis, crie páginas próprias e ligue seus IDs à página da feature.
|
|
30
|
+
|
|
31
|
+
### 3.1 Contexto e arquitetura
|
|
32
|
+
|
|
33
|
+
| Campo | O que registrar |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| Plataforma; sistema/serviço; módulo; submódulo | IDs, nomes e links para os respectivos pais. |
|
|
36
|
+
| Objetivo; limites | Problema atendido, responsabilidade do componente e o que não lhe pertence. |
|
|
37
|
+
| Dependências | Serviços internos/externos e impacto em caso de falha. |
|
|
38
|
+
| Repositório; localização do código | URL, diretórios e versão/commit de referência. |
|
|
39
|
+
| Implantação; ambientes | Modelo de deploy, ambientes e regiões efetivamente usados. |
|
|
40
|
+
| Isolamento; configuração | Modelo de tenancy e parâmetros de sistema; cite nomes, efeito, padrão e ambiente, nunca valores secretos. |
|
|
41
|
+
| Retenção | Tipos de dado, prazo, descarte e política/decisão aprovada. |
|
|
42
|
+
|
|
43
|
+
### 3.2 Funcionalidades e comportamento
|
|
44
|
+
|
|
45
|
+
| Campo | O que registrar |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| Feature; atores/personas | ID, finalidade, usuários e sistemas participantes. |
|
|
48
|
+
| Casos de uso; operações | IDs e nomes; operações CRUD e ações de negócio separadas. |
|
|
49
|
+
| Pré-condições; gatilho | Estado necessário e ação/evento que inicia o fluxo. |
|
|
50
|
+
| Fluxo principal; alternativas | Passos observáveis e caminhos de erro, cancelamento, timeout e recuperação. |
|
|
51
|
+
| Pós-condições | Alterações persistidas, mensagens emitidas e efeitos externos. |
|
|
52
|
+
| Regras de negócio | Regra atômica com ID, condição, resultado e exceções. |
|
|
53
|
+
| Critérios de aceite | Cenários testáveis, preferencialmente Dado/Quando/Então, ligados às regras. |
|
|
54
|
+
| Interface | Telas, componentes, estados, acessibilidade e referência ao protótipo aprovado. |
|
|
55
|
+
|
|
56
|
+
### 3.3 Dados e campos
|
|
57
|
+
|
|
58
|
+
Defina cada entidade uma vez. Para cada campo, registre `nome técnico`, `rótulo`, `tipo`, `unidade`, `obrigatoriedade`, `nulidade`, `limites`, `validação`, `formato/máscara`, `valor padrão`, `classificação de sensibilidade`, `retenção` e `origem/destino`. Explique diferenças entre representação de UI, API e banco; por exemplo, `refund_amount_cents` é inteiro em centavos e aparece como moeda na interface. Relacione tabela/migration/schema e a versão do contrato. Não use uma regex de formato como prova de validade semântica de um documento.
|
|
59
|
+
|
|
60
|
+
### 3.4 APIs e integrações
|
|
61
|
+
|
|
62
|
+
Registre `API/integração`, `protocolo e versão`, `provedor/consumidor`, `método e endpoint`, `path/query/header params`, `autenticação`, `autorização`, `request`, `response de sucesso`, `erros`, `paginação`, `limites de uso`, `timeout`, `idempotência`, `compatibilidade` e link para OpenAPI ou contrato canônico. Inclua exemplos sanitizados e sem credenciais; explicite o comportamento diante de falhas e versões anteriores.
|
|
63
|
+
|
|
64
|
+
### 3.5 Eventos, gatilhos e tarefas agendadas
|
|
65
|
+
|
|
66
|
+
Registre `ID/nome/versão do evento`, `produtor`, `gatilho`, `payload/schema`, `broker/tópico`, `consumidores`, `entrega/ordenação`, `retry/backoff`, `DLQ`, `idempotência`, `observabilidade` e `retenção`. Para jobs, inclua `ID`, `dono`, `expressão de agendamento`, `fuso horário`, `timeout`, `concorrência`, `efeitos`, `retentativa` e procedimento de reprocessamento. Um cron em UTC precisa de descrição legível e referência de fuso.
|
|
67
|
+
|
|
68
|
+
### 3.6 Observabilidade e operação
|
|
69
|
+
|
|
70
|
+
Registre `correlation_id/trace_id`, logs e campos permitidos, métricas técnicas e de negócio, SLI/SLO com janela de medição, alertas e limiares, dashboards, rastreamento de erros, health checks, runbook, eventos de auditoria e impacto esperado em custo/capacidade. Diferencie meta de serviço (SLO) de compromisso contratual (SLA).
|
|
71
|
+
|
|
72
|
+
### 3.7 Segurança, governança e conformidade
|
|
73
|
+
|
|
74
|
+
Registre risco, perfis e matriz de permissões (RBAC/ABAC), autenticação/sessão, criptografia e gestão de segredos, tratamento de dados pessoais, mascaramento em logs, validação de entrada, políticas de origem quando houver navegador, requisitos regulatórios aplicáveis, janela de manutenção e procedimento de reversão. Cite políticas internas e decisões aprovadas em vez de presumir que toda norma citada se aplica.
|
|
75
|
+
|
|
76
|
+
## 4. Modelo de página de feature
|
|
77
|
+
|
|
78
|
+
Copie [o modelo](../produto/_modelo-feature.md) para cada feature; substitua colchetes por valores ou por `Não aplicável — motivo`. O frontmatter é a camada que agentes e o verificador leem; o corpo é a camada que pessoas leem. Acrescente tabelas de campos e contratos quando houver vários elementos.
|
|
79
|
+
|
|
80
|
+
Chaves do frontmatter de uma feature:
|
|
81
|
+
|
|
82
|
+
| Chave | Conteúdo | Conferido por `ork docs verificar` |
|
|
83
|
+
| --- | --- | --- |
|
|
84
|
+
| `id`, `tipo`, `titulo` | `FEAT-000`, `feature`, nome | formato do ID, nome do arquivo, unicidade |
|
|
85
|
+
| `estado` | `vigente`, `em desenvolvimento`, `proposto` ou `descontinuado` | valor do padrão |
|
|
86
|
+
| `pai` | `MOD-00` | existe e é do nível acima |
|
|
87
|
+
| `roadmap` | lista de `RM-000` | existe, e o item cita a feature de volta |
|
|
88
|
+
| `owner`, `aprovador` | pessoas | presença |
|
|
89
|
+
| `verificado_em`, `versao` | ISO 8601 com fuso; branch@commit | formato |
|
|
90
|
+
| `fontes.codigo`, `fontes.testes`, `fontes.docs` | caminhos relativos à raiz | **existem no repositório** |
|
|
91
|
+
| `fontes.simbolos` | `arquivo#nome` | **o nome aparece no arquivo** |
|
|
92
|
+
| `fontes.contratos` | IDs de contrato (`ork.hitl/v2`) | **aparecem em `fontes.codigo`** |
|
|
93
|
+
| `fontes.comandos` | comandos do CLI do produto | **o CLI declara o comando** |
|
|
94
|
+
|
|
95
|
+
## 5. Revisão e sincronização
|
|
96
|
+
|
|
97
|
+
Antes de aprovar uma mudança, confira IDs e links, comportamento e exceções, nomes e tipos contra código/migrations, contratos de API/evento, permissões, testes e ambiente real. Atualize a documentação junto à mudança de implementação; marque diferenças como `a validar` com responsável e prazo. Automação ou agente pode comparar fontes e preparar um diff, mas deve registrar o commit/contrato consultado e não converter suposição em fato. O status de execução e as decisões de prioridade ficam no [padrão de roadmap](roadmap-de-produto.md).
|
|
98
|
+
|
|
99
|
+
No Orkastery essa comparação tem dono e comando:
|
|
100
|
+
|
|
101
|
+
- `ork docs verificar` — roda no CI em todo PR; reprova página cujas `fontes` não existem mais, link quebrado, ID repetido ou campo de modelo esquecido.
|
|
102
|
+
- `ork docs sincronizar` — roda na máquina do projeto; lê o ledger das threads e o git e atualiza **só fatos** (merge, fase), nunca status por passagem de tempo. Sem `--escrever`, só mostra o que mudaria.
|
|
103
|
+
- `ork docs init` — cria esta estrutura em qualquer produto conduzido pelo Orkastery.
|
|
104
|
+
|
|
105
|
+
## 6. Três leitores e fatos de SDLC (adaptação Orkastery)
|
|
106
|
+
|
|
107
|
+
Cada página é lida ao mesmo tempo por três leitores. Se um deles fica para trás, a página falhou.
|
|
108
|
+
|
|
109
|
+
### 6.1 Pessoa com TDAH
|
|
110
|
+
|
|
111
|
+
- **Resposta primeiro.** Logo abaixo do título, uma linha `> **Em uma frase:**` com até 240 caracteres.
|
|
112
|
+
- **Estado de relance.** Estado, data de verificação e versão aparecem antes de qualquer explicação.
|
|
113
|
+
- **Uma ideia por linha.** Tópicos em vez de parágrafos; parágrafo com mais de 600 caracteres gera aviso.
|
|
114
|
+
- **Seções sempre com o mesmo nome.** Quem já leu uma página sabe onde está cada coisa na próxima.
|
|
115
|
+
- **Nada vazio em silêncio.** Seção sem conteúdo diz `Não aplicável — motivo` ou `A definir — responsável, prazo`.
|
|
116
|
+
|
|
117
|
+
### 6.2 Verificador de paridade
|
|
118
|
+
|
|
119
|
+
- A página afirma coisas conferíveis: caminhos, símbolos, contratos, comandos, commits.
|
|
120
|
+
- Divergência entre página e repositório é **erro de lint**, não questão de opinião.
|
|
121
|
+
- O verificador nunca completa lacuna nem infere estado; ele só aponta.
|
|
122
|
+
|
|
123
|
+
### 6.3 Modelos e agentes de IA
|
|
124
|
+
|
|
125
|
+
- Frontmatter YAML com chaves e valores fixos (seção 4); IDs estáveis no nome do arquivo e no título.
|
|
126
|
+
- `ork docs verificar --json` devolve os achados com regra tipada (`docs.paridade.fonte`, `docs.leitura.resumo`...).
|
|
127
|
+
- Um agente pode propor a mudança; a revisão e a decisão ficam com pessoas (seção 2, Responsabilidade).
|
|
128
|
+
|
|
129
|
+
### 6.4 Fatos de SDLC do método Orkastery
|
|
130
|
+
|
|
131
|
+
- Entram na documentação **fatos do produto**: a feature está `vigente`, em qual versão, verificada quando, contra quais fontes.
|
|
132
|
+
- O andamento da entrega (thread, fase, CHECK, merge) é registrado no [roadmap](roadmap-de-produto.md), na seção `sdlc` do item.
|
|
133
|
+
- **Micro-decisões de condução não entram**: qual claim foi recadastrada, qual GO-FIX corrigiu um teste, qual sessão caiu. Isso vive no ledger da thread.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Padrão de roadmap de produto de software
|
|
2
|
+
|
|
3
|
+
> Versão 1.1 · Aplicação: iniciativas, épicos, funcionalidades e mudanças · Documento complementar: [Padrão de documentação de produto](documentacao-de-produto.md)
|
|
4
|
+
>
|
|
5
|
+
> A versão 1.1 mantém a 1.0 e acrescenta a seção 6 (três leitores e fatos de SDLC) e o frontmatter do modelo, que o `ork docs verificar` confere.
|
|
6
|
+
|
|
7
|
+
## 1. Objetivo e unidade de acompanhamento
|
|
8
|
+
|
|
9
|
+
Este padrão registra **por que mudar, o que se pretende entregar, como validar e qual o estado real da execução**. Use um item por decisão de investimento/entrega rastreável. Iniciativas podem conter épicos, e épicos podem conter features; cada item tem ID próprio e aponta para o item pai. Uma feature implementada aponta para sua especificação `FEAT-ID`. Não replique campos técnicos extensos do produto no roadmap: mantenha links para a documentação canônica.
|
|
10
|
+
|
|
11
|
+
O roadmap é uma visão de planejamento sujeita a revisão. Datas, prioridades e escopo são compromissos somente quando explicitamente aprovados e identificados como tal. Marque estimativas e hipóteses como tais.
|
|
12
|
+
|
|
13
|
+
## 2. Regras comuns
|
|
14
|
+
|
|
15
|
+
| Regra | Aplicação |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| ID e vínculo | Use `RM-001` estável; indique pai, features afetadas e links para especificações, ADRs, issue, PR, testes e release. |
|
|
18
|
+
| Resultado | Explicite problema, público, objetivo, hipótese mensurável, linha de base, meta, janela e fonte da métrica. |
|
|
19
|
+
| Priorização | Registre método, critérios, pontuação e data; prioridade é distinta de urgência e não substitui justificativa. |
|
|
20
|
+
| Escopo | Separe incluído, excluído, dependências e premissas. Mudanças de escopo pedem registro de decisão. |
|
|
21
|
+
| Datas | Distinga alvo, previsão e data efetiva; use ISO 8601, fuso e nível de confiança. Nunca infira progresso pela data. |
|
|
22
|
+
| Evidência | Informe fonte e data de cada status. PR mesclado, deploy e disponibilidade para usuários são fatos distintos. |
|
|
23
|
+
| Responsabilidade | Nomeie owner humano por decisão, execução e validação. Agentes de IA podem elaborar, verificar ou executar dentro de autonomia registrada; atribua revisão e decisão final a pessoas. |
|
|
24
|
+
| Lacunas | Use `A definir` com responsável e prazo; para seção irrelevante, `Não aplicável — motivo`. Não invente status ou métricas. |
|
|
25
|
+
|
|
26
|
+
## 3. Categorias do item de roadmap
|
|
27
|
+
|
|
28
|
+
### 3.1 Identificação e posicionamento
|
|
29
|
+
|
|
30
|
+
Registre `ID`, `título orientado ao resultado`, `tipo` (iniciativa/épico/feature/melhoria), `item pai`, `plataforma`, `sistema`, `módulo`, `features afetadas`, `público`, `área solicitante`, `links canônicos` e `versão da página`. Hierarquia arquitetural descreve onde a mudança ocorre; hierarquia de roadmap descreve como ela é planejada.
|
|
31
|
+
|
|
32
|
+
### 3.2 Problema, objetivo e hipótese
|
|
33
|
+
|
|
34
|
+
Registre `problema/oportunidade`, `evidências`, `objetivo/OKR`, `hipótese no formato Se... então... porque...`, `métrica principal`, `métricas de proteção`, `linha de base`, `meta`, `janela de observação`, `segmento de análise` e `fonte dos dados`. Sem linha de base conhecida, defina como será medida antes de declarar sucesso.
|
|
35
|
+
|
|
36
|
+
### 3.3 Escopo, entregáveis e validação
|
|
37
|
+
|
|
38
|
+
Registre `escopo incluído`, `fora de escopo`, `entregáveis`, `casos de uso afetados`, `critérios de aceite`, `experimento/piloto`, `plano de medição`, `critérios para expandir/interromper`, `habilitação operacional` e `documentação necessária`. Aponte para IDs de regras, contratos e testes na documentação de produto.
|
|
39
|
+
|
|
40
|
+
### 3.4 Priorização e planejamento
|
|
41
|
+
|
|
42
|
+
Registre `prioridade`, `método/pontuação` (por exemplo RICE, com fatores explícitos), `justificativa`, `urgência`, `horizonte` (Agora/Próximo/Depois ou trimestre), `alvo`, `previsão`, `confiança`, `marcos`, `capacidade/custo estimado` e `trade-offs`. Uma pontuação sem critérios e data não é reproduzível.
|
|
43
|
+
|
|
44
|
+
### 3.5 Dependências, riscos e decisões
|
|
45
|
+
|
|
46
|
+
Registre `dependências com IDs e owners`, `bloqueios`, `premissas ainda não validadas`, `riscos com probabilidade/impacto`, `mitigação/contingência`, `decisões de produto`, `ADR técnico`, `alternativas descartadas`, `data/decisor` e `gatilho para revisão`. ADR é um registro de decisão que pode ser substituído por outro; preserve o histórico, sem apagar decisões anteriores.
|
|
47
|
+
|
|
48
|
+
### 3.6 Ciclo de vida e estados independentes
|
|
49
|
+
|
|
50
|
+
Não use um único campo para ocultar diferenças entre plano, código e entrega. Atualize cada dimensão separadamente:
|
|
51
|
+
|
|
52
|
+
| Dimensão | Valores recomendados | Evidência mínima |
|
|
53
|
+
| --- | --- | --- |
|
|
54
|
+
| Ciclo do item | `Discovery` → `Backlog` → `Refinamento` → `Pronto para desenvolvimento` → `Em desenvolvimento` → `Em validação` → `Piloto` → `Disponível` → `Concluído`; estados laterais: `Bloqueado`, `Cancelado`, `Descontinuado` | Decisão, marco ou entrega com data e owner. |
|
|
55
|
+
| Documentação | `Rascunho`, `Em revisão`, `Aprovada`, `Desatualizada` | Link, versão e revisor. |
|
|
56
|
+
| Código | `Não iniciado`, `Branch criada`, `PR aberto`, `Mesclado` | Repositório, branch/PR e commit. |
|
|
57
|
+
| Testes | `Não iniciados`, `Em execução`, `Aprovados`, `Falhando` | Execução e data; cobertura, se relevante. |
|
|
58
|
+
| Deploy | `Não implantado`, `Dev`, `Staging`, `Produção` | Pipeline, release e data efetiva. |
|
|
59
|
+
| Exposição | `Flag desligada`, `Piloto/Canary`, `Parcial`, `Geral` | Configuração por ambiente/coorte e verificação. |
|
|
60
|
+
| Habilitação | `Pendente`, `Em andamento`, `Concluída` | Comunicação, treinamento ou material publicado. |
|
|
61
|
+
|
|
62
|
+
`Bloqueado` exige motivo, dependência, responsável e próxima revisão. `Concluído` exige critérios de aceite cumpridos, evidência de disponibilidade e registro de medição inicial ou plano de avaliação pós-lançamento. O status não deve ser atualizado por mera passagem do tempo.
|
|
63
|
+
|
|
64
|
+
### 3.7 Owners e colaboração entre pessoas e agentes
|
|
65
|
+
|
|
66
|
+
Registre `PM/PO accountable`, `responsável técnico`, `engenheiro executor`, `QA/validador`, `sponsor`, `consultados`, `informados`, `canal`, `agente de planejamento`, `agente de execução`, `agente de validação`, `autonomia permitida`, `revisor humano` e `RACI`. Separe contribuição de agente da pessoa que aprova; documente ações realizadas e evidências, sem atribuir decisões a um agente por omissão.
|
|
67
|
+
|
|
68
|
+
## 4. Modelo de item de roadmap
|
|
69
|
+
|
|
70
|
+
Copie [o modelo](../roadmap/_modelo-item.md) para cada item. O frontmatter guarda as sete dimensões da seção 3.6 com os valores exatos do padrão, e o verificador cobra coerência entre elas:
|
|
71
|
+
|
|
72
|
+
| Regra de coerência | Por quê |
|
|
73
|
+
| --- | --- |
|
|
74
|
+
| `ciclo: Concluído` exige `codigo: Mesclado` e `testes: Aprovados` | concluído sem código na base é promessa |
|
|
75
|
+
| `deploy: Produção` exige `codigo: Mesclado` | não se implanta o que não foi mesclado |
|
|
76
|
+
| `codigo: Mesclado` exige `evidencias.codigo.commit` **na branch base** | merge se prova pelo git, não por declaração |
|
|
77
|
+
| `ciclo: Bloqueado` exige o mapa `bloqueio` (motivo, dependência, responsável, próxima revisão) | bloqueio sem dono não destrava |
|
|
78
|
+
|
|
79
|
+
## 5. Cadência e consistência
|
|
80
|
+
|
|
81
|
+
Revisite itens ativos na cadência do time e sempre após decisão, PR relevante, teste, deploy, alteração de flag ou medição de resultado. A cada revisão, compare roadmap, documentação da feature, código, contratos e evidências de produção; anote divergências com owner e prazo. Agentes podem sugerir atualização de status a partir de eventos do repositório, mas um PR mesclado atualiza somente a dimensão **código** até que deploy e exposição sejam comprovados. Registre a data de atualização e mantenha histórico das decisões e mudanças de escopo.
|
|
82
|
+
|
|
83
|
+
No Orkastery, `ork docs sincronizar` é esse agente: ele atualiza `estado.codigo` e `evidencias.codigo.commit` a partir do ledger (`ship_done`) e do git, e a seção `sdlc` a partir da thread. **Ele nunca mexe em ciclo, documentação, deploy, exposição ou habilitação** — essas dimensões são decisão de pessoa, e o verificador só cobra que estejam coerentes com o código.
|
|
84
|
+
|
|
85
|
+
## 6. Três leitores e fatos de SDLC (adaptação Orkastery)
|
|
86
|
+
|
|
87
|
+
As regras de leitura do [padrão de documentação](documentacao-de-produto.md#6-três-leitores-e-fatos-de-sdlc-adaptação-orkastery) valem aqui: resposta primeiro, estado de relance, uma ideia por linha, seções com nome fixo, frontmatter para agentes.
|
|
88
|
+
|
|
89
|
+
O que muda no roadmap é o bloco `sdlc`, que liga o item ao método Orkastery **só com fatos do produto**:
|
|
90
|
+
|
|
91
|
+
| Chave | Conteúdo | Quem preenche |
|
|
92
|
+
| --- | --- | --- |
|
|
93
|
+
| `sdlc.thread` | ID da thread que entrega o item | pessoa, ao abrir a thread |
|
|
94
|
+
| `sdlc.modo` | `#Classic`, `#Maestro` ou `#Auto` | pessoa |
|
|
95
|
+
| `sdlc.fase`, `sdlc.status` | fase atual e status da thread | `ork docs sincronizar` |
|
|
96
|
+
| `sdlc.check` | último veredito do CHECK independente | pessoa, a partir do parecer |
|
|
97
|
+
|
|
98
|
+
Micro-decisões de condução (claims recadastradas, GO-FIX de teste, sessão que caiu) **não entram no item**: vivem no ledger da thread, que é o registro de auditoria do método.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Documentação de produto
|
|
2
|
+
|
|
3
|
+
> **Em uma frase:** o que o produto é e faz hoje, uma página por entidade, conferida contra o código a cada PR.
|
|
4
|
+
|
|
5
|
+
- **Padrão:** [documentação de produto](../padroes/documentacao-de-produto.md) · **Complemento:** [roadmap](../roadmap/README.md)
|
|
6
|
+
- **Hierarquia:** plataforma (`PLAT`) → sistema (`SYS`) → módulo (`MOD`) → feature (`FEAT`)
|
|
7
|
+
- **Nova página:** copie [o modelo](_modelo-feature.md) e rode `ork docs verificar`
|
|
8
|
+
|
|
9
|
+
## Índice
|
|
10
|
+
|
|
11
|
+
Gerado por `ork docs sincronizar` a partir do frontmatter de cada página.
|
|
12
|
+
|
|
13
|
+
<!-- ork-docs:indice:inicio -->
|
|
14
|
+
<!-- ork-docs:indice:fim -->
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-000
|
|
3
|
+
tipo: feature
|
|
4
|
+
titulo: <Nome da feature>
|
|
5
|
+
estado: proposto
|
|
6
|
+
pai: MOD-00
|
|
7
|
+
roadmap: [RM-000]
|
|
8
|
+
owner: <nome>
|
|
9
|
+
aprovador: <nome>
|
|
10
|
+
verificado_em: 2026-01-01T00:00:00-03:00
|
|
11
|
+
versao: main@0000000
|
|
12
|
+
fontes:
|
|
13
|
+
codigo: []
|
|
14
|
+
testes: []
|
|
15
|
+
simbolos: []
|
|
16
|
+
contratos: []
|
|
17
|
+
comandos: []
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# FEAT-000 — Nome da feature
|
|
21
|
+
|
|
22
|
+
> **Em uma frase:** [o que esta feature faz, para quem, em até 240 caracteres]
|
|
23
|
+
|
|
24
|
+
- **Estado:** proposto · **Verificado em:** [AAAA-MM-DD] · **Versão:** [branch@commit]
|
|
25
|
+
- **Onde fica:** [PLAT-00 > SYS-00 > MOD-00, com links]
|
|
26
|
+
- **Roadmap:** [RM-000, com link]
|
|
27
|
+
- **Dono da página / aprovador:** [nomes]
|
|
28
|
+
|
|
29
|
+
## Comportamento
|
|
30
|
+
|
|
31
|
+
- **Casos de uso e operações:** [UC-ID, ação, ator]
|
|
32
|
+
- **Pré-condições e gatilho:** [o que precisa existir e o que dispara]
|
|
33
|
+
- **Fluxo principal:**
|
|
34
|
+
1. [passo observável]
|
|
35
|
+
- **Alternativas, erros e recuperação:** [erro, cancelamento, timeout, retomada]
|
|
36
|
+
- **Pós-condições:** [o que fica gravado, emitido ou mudado fora]
|
|
37
|
+
- **Regras de negócio:** [BR-ID: condição → resultado; exceção]
|
|
38
|
+
- **Critérios de aceite e testes:** [Dado/Quando/Então, com o teste que prova]
|
|
39
|
+
- **Interface e acessibilidade:** [telas, estados, protótipo — ou Não aplicável — motivo]
|
|
40
|
+
|
|
41
|
+
## Dados e contratos
|
|
42
|
+
|
|
43
|
+
- **Entidades e campos:** [links, tipos, validações, sensibilidade]
|
|
44
|
+
- **APIs e endpoints:** [IDs, métodos, contratos, erros, versionamento]
|
|
45
|
+
- **Eventos e jobs:** [IDs, schemas, gatilhos, retries, fuso]
|
|
46
|
+
|
|
47
|
+
## Operação e controle
|
|
48
|
+
|
|
49
|
+
- **Configuração e ambientes:** [parâmetros, sem segredos]
|
|
50
|
+
- **Observabilidade:** [métricas, SLO, logs, alertas, runbook]
|
|
51
|
+
- **Acesso, privacidade e conformidade:** [controles aplicáveis]
|
|
52
|
+
- **Dependências e rollback:** [o que ela usa e como voltar atrás]
|
|
53
|
+
- **Código, PR, testes e release:** [links identificáveis]
|
|
54
|
+
|
|
55
|
+
## Histórico
|
|
56
|
+
|
|
57
|
+
| Data | Mudança | Autor/revisor | Evidência ou decisão |
|
|
58
|
+
| --- | --- | --- | --- |
|
|
59
|
+
| [AAAA-MM-DD] | [descrição] | [nomes] | [link] |
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
> **Em uma frase:** por que mudar, o que entregar e em que pé está cada item — com o estado provado pelo git, não declarado.
|
|
4
|
+
|
|
5
|
+
- **Padrão:** [roadmap de produto](../padroes/roadmap-de-produto.md) · **Complemento:** [documentação de produto](../produto/README.md)
|
|
6
|
+
- **Um arquivo por item:** `RM-000-assunto.md`, com o estado no frontmatter
|
|
7
|
+
- **Novo item:** copie [o modelo](_modelo-item.md) e rode `ork docs verificar`
|
|
8
|
+
|
|
9
|
+
## Itens
|
|
10
|
+
|
|
11
|
+
Gerado por `ork docs sincronizar` a partir do frontmatter de cada item.
|
|
12
|
+
|
|
13
|
+
<!-- ork-docs:indice:inicio -->
|
|
14
|
+
<!-- ork-docs:indice:fim -->
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: RM-000
|
|
3
|
+
tipo: roadmap
|
|
4
|
+
titulo: <Resultado pretendido>
|
|
5
|
+
categoria: iniciativa
|
|
6
|
+
pai: null
|
|
7
|
+
features: []
|
|
8
|
+
owner: <nome>
|
|
9
|
+
atualizado_em: 2026-01-01T00:00:00-03:00
|
|
10
|
+
estado:
|
|
11
|
+
ciclo: Discovery
|
|
12
|
+
documentacao: Rascunho
|
|
13
|
+
codigo: Não iniciado
|
|
14
|
+
testes: Não iniciados
|
|
15
|
+
deploy: Não implantado
|
|
16
|
+
exposicao: Flag desligada
|
|
17
|
+
habilitacao: Pendente
|
|
18
|
+
evidencias:
|
|
19
|
+
codigo:
|
|
20
|
+
commit: null
|
|
21
|
+
pr: null
|
|
22
|
+
sdlc:
|
|
23
|
+
thread: null
|
|
24
|
+
modo: null
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# RM-000 — Resultado pretendido
|
|
28
|
+
|
|
29
|
+
> **Em uma frase:** [o resultado que este item entrega, para quem, em até 240 caracteres]
|
|
30
|
+
|
|
31
|
+
<!-- ork-docs:relance:inicio -->
|
|
32
|
+
<!-- ork-docs:relance:fim -->
|
|
33
|
+
|
|
34
|
+
## Problema e resultado
|
|
35
|
+
|
|
36
|
+
- **Público e problema/oportunidade:** [quem sofre o quê]
|
|
37
|
+
- **Evidências e fonte:** [dado, conversa, incidente — com link]
|
|
38
|
+
- **Objetivo/OKR:** [o que muda para quem]
|
|
39
|
+
- **Hipótese:** Se [mudança], então [efeito mensurável], porque [mecanismo].
|
|
40
|
+
- **Métrica principal / linha de base / meta / janela / fonte:** [valores e origem]
|
|
41
|
+
- **Métricas de proteção:** [o que não pode piorar]
|
|
42
|
+
|
|
43
|
+
## Escopo e validação
|
|
44
|
+
|
|
45
|
+
- **Incluído:** [o que entra]
|
|
46
|
+
- **Fora de escopo:** [o que não entra]
|
|
47
|
+
- **Entregáveis e critérios de aceite:** [entregável → como se prova]
|
|
48
|
+
- **Piloto, medição e critérios de expansão/interrupção:** [como e quando decidir]
|
|
49
|
+
|
|
50
|
+
## Plano e decisões
|
|
51
|
+
|
|
52
|
+
- **Prioridade / método / pontuação / justificativa / data:** [valores]
|
|
53
|
+
- **Horizonte / alvo / previsão / confiança / marcos:** [valores]
|
|
54
|
+
- **Dependências e bloqueios (ID, owner, próxima revisão):** [lista]
|
|
55
|
+
- **Premissas / riscos / mitigação:** [lista]
|
|
56
|
+
- **Decisões, alternativas e ADRs (ID, decisor, data, link):** [lista]
|
|
57
|
+
|
|
58
|
+
## Estado com evidências
|
|
59
|
+
|
|
60
|
+
O estado se edita no frontmatter; esta tabela é gerada por `ork docs sincronizar`.
|
|
61
|
+
|
|
62
|
+
<!-- ork-docs:estado:inicio -->
|
|
63
|
+
<!-- ork-docs:estado:fim -->
|
|
64
|
+
|
|
65
|
+
## Responsabilidades e histórico
|
|
66
|
+
|
|
67
|
+
- **RACI (R / A / C / I):** [nomes]
|
|
68
|
+
- **Agentes envolvidos, atuação, autonomia e revisor humano:** [quem fez o quê, e quem aprovou]
|
|
69
|
+
- **Próxima ação, responsável e prazo:** [uma linha]
|
|
70
|
+
|
|
71
|
+
| Data | Mudança de plano, escopo ou status | Motivo e evidência | Decisor |
|
|
72
|
+
| --- | --- | --- | --- |
|
|
73
|
+
| [AAAA-MM-DD] | [descrição] | [link] | [nome] |
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "ork.native-entry-fields/v1",
|
|
3
|
+
"fields": [
|
|
4
|
+
"author_id",
|
|
5
|
+
"collection",
|
|
6
|
+
"conflict",
|
|
7
|
+
"content",
|
|
8
|
+
"content_hash",
|
|
9
|
+
"created_at",
|
|
10
|
+
"embedding",
|
|
11
|
+
"encrypted",
|
|
12
|
+
"encryption_meta",
|
|
13
|
+
"essence",
|
|
14
|
+
"expires_at",
|
|
15
|
+
"id",
|
|
16
|
+
"injection_risk",
|
|
17
|
+
"layer_generated_at",
|
|
18
|
+
"mandatory",
|
|
19
|
+
"metadata",
|
|
20
|
+
"parent_id",
|
|
21
|
+
"priority",
|
|
22
|
+
"protected",
|
|
23
|
+
"scope",
|
|
24
|
+
"source",
|
|
25
|
+
"structure",
|
|
26
|
+
"tags",
|
|
27
|
+
"updated_at",
|
|
28
|
+
"url",
|
|
29
|
+
"version",
|
|
30
|
+
"visibility"
|
|
31
|
+
]
|
|
32
|
+
}
|