@softize/opus 9.0.1 → 9.0.3

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/CHANGELOG.md CHANGED
@@ -11,6 +11,18 @@ Depois de qualquer bump, rode os gates (`typecheck` · `test` · `opus check` ·
11
11
  > tinha ficado sem registro nenhum, o que é exatamente o caso que este arquivo existe
12
12
  > pra cobrir.
13
13
 
14
+ ## 9.0.3 — 2026-08-12
15
+
16
+ **O pre-push ignora worktrees internos do Maestro.** Projetos sob `.maestro/` pertencem
17
+ à sessão que os criou e serão validados no próprio ciclo de commit; eles não entram na
18
+ descoberta de apps do checkout hospedeiro.
19
+
20
+ ## 9.0.2 — 2026-08-12
21
+
22
+ **O pre-push entende monorepos.** Ele valida a materialização na raiz e executa as
23
+ convenções em cada projeto marcado por `opus.json`, sem exigir actions no diretório-raiz.
24
+ No repositório-fonte do SDK, a suíte continua sendo dona das fixtures negativas do linter.
25
+
14
26
  ## 9.0.1 — 2026-08-12
15
27
 
16
28
  **A garantia de materialização volta a ser local.** `opus setup` deixa de criar o
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softize/opus",
3
- "version": "9.0.1",
3
+ "version": "9.0.3",
4
4
  "description": "End-to-end action protocol for TypeScript. Single package with subpath exports (core + adapters).",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,9 +1,23 @@
1
1
  #!/bin/sh
2
2
  if [ -f node_modules/@softize/opus/bin/cli.mjs ]; then
3
- node node_modules/@softize/opus/bin/cli.mjs pre-push
3
+ opus_cli=node_modules/@softize/opus/bin/cli.mjs
4
4
  elif [ -f packages/opus/bin/cli.mjs ]; then
5
- node packages/opus/bin/cli.mjs pre-push materialization
5
+ opus_cli=packages/opus/bin/cli.mjs
6
6
  else
7
7
  echo "opus pre-push: @softize/opus não está instalado." >&2
8
8
  exit 1
9
9
  fi
10
+
11
+ node "$opus_cli" pre-push materialization || exit $?
12
+
13
+ # No repositório-fonte do próprio Opus, os exemplos deliberadamente inválidos dos testes
14
+ # exercitam o linter. A suíte é o gate dessa árvore; não escaneie fixtures como consumidor.
15
+ [ -f packages/opus/bin/cli.mjs ] && exit 0
16
+
17
+ # A raiz de um monorepo não precisa ser um app. Cada marcador per-app define um alvo
18
+ # real do check; node_modules e .git nunca participam da descoberta.
19
+ find . -name opus.json -type f -not -path '*/node_modules/*' -not -path '*/.git/*' -not -path '*/.maestro/*' -exec dirname {} \; |
20
+ sort -u |
21
+ while IFS= read -r app_dir; do
22
+ node "$opus_cli" check "$app_dir" || exit $?
23
+ done