sinapse-ai 7.7.2 → 7.7.4

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.
Files changed (56) hide show
  1. package/.claude/hooks/enforce-git-push-authority.sh +34 -2
  2. package/.claude/rules/safe-collaboration.md +12 -1
  3. package/.codex/catalog.json +157 -0
  4. package/.codex/command-registry.json +441 -0
  5. package/.codex/scripts/generate-codex-greeting.js +101 -0
  6. package/.codex/scripts/resolve-codex-command.js +147 -0
  7. package/.codex/skills/sinapse-analyst/SKILL.md +5 -4
  8. package/.codex/skills/sinapse-architect/SKILL.md +5 -4
  9. package/.codex/skills/sinapse-data-engineer/SKILL.md +5 -4
  10. package/.codex/skills/sinapse-dev/SKILL.md +5 -4
  11. package/.codex/skills/sinapse-devops/SKILL.md +5 -4
  12. package/.codex/skills/sinapse-orqx/SKILL.md +10 -15
  13. package/.codex/skills/sinapse-pm/SKILL.md +5 -4
  14. package/.codex/skills/sinapse-po/SKILL.md +4 -3
  15. package/.codex/skills/sinapse-qa/SKILL.md +12 -11
  16. package/.codex/skills/sinapse-sm/SKILL.md +5 -4
  17. package/.codex/skills/sinapse-squad-creator/SKILL.md +5 -4
  18. package/.codex/skills/sinapse-ux-design-expert/SKILL.md +5 -4
  19. package/.codex/tasks/convene-sinapse-council.md +28 -0
  20. package/.codex/tasks/create-sinapse-strategic-brief.md +29 -0
  21. package/.codex/tasks/onboard-sinapse-codex.md +34 -0
  22. package/.codex/tasks/plan-sinapse-initiative.md +33 -0
  23. package/.codex/tasks/resolve-sinapse-conflict.md +28 -0
  24. package/.codex/tasks/route-sinapse-request.md +33 -0
  25. package/.codex/tasks/status-sinapse-capabilities.md +28 -0
  26. package/.sinapse-ai/core-config.yaml +1 -1
  27. package/.sinapse-ai/data/entity-registry.yaml +903 -805
  28. package/.sinapse-ai/data/registry-update-log.jsonl +10 -0
  29. package/.sinapse-ai/infrastructure/scripts/codex-parity/catalog.js +123 -0
  30. package/.sinapse-ai/infrastructure/scripts/codex-skills-sync/index.js +60 -11
  31. package/.sinapse-ai/infrastructure/scripts/codex-skills-sync/validate.js +44 -16
  32. package/.sinapse-ai/infrastructure/scripts/sync-codex-local-first.js +156 -0
  33. package/.sinapse-ai/infrastructure/scripts/validate-codex-command-registry.js +264 -0
  34. package/.sinapse-ai/infrastructure/scripts/validate-codex-integration.js +15 -6
  35. package/.sinapse-ai/infrastructure/scripts/validate-codex-sync.js +156 -0
  36. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +3 -1
  37. package/.sinapse-ai/infrastructure/scripts/validate-paths.js +8 -10
  38. package/.sinapse-ai/infrastructure/templates/safe-collab/README.md +52 -17
  39. package/.sinapse-ai/infrastructure/templates/safe-collab/apply.sh +85 -0
  40. package/.sinapse-ai/infrastructure/templates/safe-collab/safe-collaboration-rule.md +11 -0
  41. package/.sinapse-ai/install-manifest.yaml +41 -21
  42. package/.sinapse-ai/project-config.yaml +1 -1
  43. package/bin/utils/collab-start.js +267 -0
  44. package/bin/utils/git-branch-guard.js +76 -0
  45. package/bin/utils/pre-push-safety.js +110 -0
  46. package/bin/utils/staged-secret-scan.js +108 -0
  47. package/docs/ORQX-PLAN.md +3 -2
  48. package/docs/codex-parity-program.md +670 -0
  49. package/docs/codex-total-parity-orchestration-plan.md +301 -0
  50. package/docs/codex-workflow-task-parity.md +87 -0
  51. package/docs/collaboration-autonomy-plan.md +243 -0
  52. package/docs/guides/framework-contributor-mode.md +310 -0
  53. package/docs/guides/parallel-collaboration-source-of-truth.md +481 -0
  54. package/package.json +11 -3
  55. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +2 -2
  56. package/scripts/ensure-manifest.js +9 -0
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ const { execFileSync, execSync } = require('child_process');
4
+
5
+ const BLOCKED_ENV_FILE_PATTERN = /(^|\/)\.env(\..+)?$/i;
6
+ const SAFE_ENV_FILE_PATTERN = /(^|\/)\.env\.(example|sample|template)$/i;
7
+ const SECRET_PATTERNS = [
8
+ { label: 'private key', pattern: /BEGIN (RSA|DSA|EC|OPENSSH|PGP) PRIVATE KEY/ },
9
+ { label: 'generic private key', pattern: /BEGIN PRIVATE KEY/ },
10
+ { label: 'GitHub personal token', pattern: /\bgh[pousr]_[A-Za-z0-9]{20,}\b/ },
11
+ { label: 'GitHub fine-grained token', pattern: /\bgithub_pat_[A-Za-z0-9_]{20,}\b/ },
12
+ { label: 'OpenAI key', pattern: /\bsk-(proj-)?[A-Za-z0-9_-]{20,}\b/ },
13
+ { label: 'AWS access key', pattern: /\bAKIA[0-9A-Z]{16}\b/ },
14
+ { label: 'Google API key', pattern: /\bAIza[0-9A-Za-z\-_]{35}\b/ },
15
+ { label: 'Slack token', pattern: /\bxox[baprs]-[A-Za-z0-9-]{10,}\b/ },
16
+ ];
17
+
18
+ function getStagedFiles() {
19
+ try {
20
+ const output = execSync('git diff --cached --name-only --diff-filter=ACMR', {
21
+ encoding: 'utf8',
22
+ stdio: ['ignore', 'pipe', 'pipe'],
23
+ }).trim();
24
+ return output ? output.split('\n').filter(Boolean) : [];
25
+ } catch {
26
+ return [];
27
+ }
28
+ }
29
+
30
+ function isBlockedEnvFile(filePath) {
31
+ return BLOCKED_ENV_FILE_PATTERN.test(filePath) && !SAFE_ENV_FILE_PATTERN.test(filePath);
32
+ }
33
+
34
+ function readStagedFile(filePath) {
35
+ try {
36
+ return execFileSync('git', ['show', `:${filePath}`], {
37
+ encoding: 'utf8',
38
+ stdio: ['ignore', 'pipe', 'pipe'],
39
+ maxBuffer: 5 * 1024 * 1024,
40
+ });
41
+ } catch {
42
+ return '';
43
+ }
44
+ }
45
+
46
+ function findSecretMatches(content) {
47
+ const matches = [];
48
+ for (const descriptor of SECRET_PATTERNS) {
49
+ if (descriptor.pattern.test(content)) {
50
+ matches.push(descriptor.label);
51
+ }
52
+ }
53
+ return matches;
54
+ }
55
+
56
+ function scanStagedFiles(files) {
57
+ const findings = [];
58
+
59
+ for (const filePath of files) {
60
+ if (isBlockedEnvFile(filePath)) {
61
+ findings.push({ filePath, reason: 'environment file' });
62
+ continue;
63
+ }
64
+
65
+ const content = readStagedFile(filePath);
66
+ const matches = findSecretMatches(content);
67
+ for (const match of matches) {
68
+ findings.push({ filePath, reason: match });
69
+ }
70
+ }
71
+
72
+ return findings;
73
+ }
74
+
75
+ function main() {
76
+ const stagedFiles = getStagedFiles();
77
+ if (stagedFiles.length === 0) {
78
+ process.exit(0);
79
+ }
80
+
81
+ const findings = scanStagedFiles(stagedFiles);
82
+ if (findings.length === 0) {
83
+ process.exit(0);
84
+ }
85
+
86
+ console.error('');
87
+ console.error('Staged Secret Scan: commit blocked.');
88
+ console.error('');
89
+ for (const finding of findings) {
90
+ console.error(`- ${finding.filePath}: ${finding.reason}`);
91
+ }
92
+ console.error('');
93
+ console.error('Remove the sensitive content before committing.');
94
+ console.error('');
95
+ process.exit(1);
96
+ }
97
+
98
+ module.exports = {
99
+ SECRET_PATTERNS,
100
+ findSecretMatches,
101
+ getStagedFiles,
102
+ isBlockedEnvFile,
103
+ scanStagedFiles,
104
+ };
105
+
106
+ if (require.main === module) {
107
+ main();
108
+ }
package/docs/ORQX-PLAN.md CHANGED
@@ -188,8 +188,9 @@ Pente fino em cada arquivo do framework. Zero assinaturas escondidas, zero easte
188
188
  - [ ] `.github/workflows/` — actions com refs externas
189
189
  - [ ] `scripts/` — automacoes com refs externas
190
190
  - [ ] `packages/` — package.json internos (author, contributors, repository)
191
- - [ ] Git tags — verificar se alguma tag referencia AIOX
192
- - [ ] Git commit messages — verificar se tem refs problematicas (informativo, nao rewrite)
191
+ - [x] Git tags — verificar se alguma tag referencia AIOX (VERIFIED 2026-04-02: ZERO tags AIOX)
192
+ - [x] Git commit messages — verificar se tem refs problematicas (informativo, nao rewrite)
193
+ - [x] GitHub Issues/PRs/Labels/Milestones — VERIFIED 2026-04-02: 0 issues, 0 PRs, 0 AIOX labels, description=SINAPSE
193
194
 
194
195
  ### Pos-Audit
195
196
  - [ ] Regenerar package-lock.json limpo (`npm install`)