@ornexus/neocortex 4.59.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 +56 -0
- package/LICENSE-COMMERCIAL.md +70 -0
- package/README.md +58 -0
- package/dist/sbom.cdx.json +7067 -0
- package/docs/install/coderabbit-manual-setup.md +86 -0
- package/docs/install/installer-diagnostics.md +107 -0
- package/docs/install/linux-global-install.md +97 -0
- package/install.js +572 -0
- package/install.ps1 +2214 -0
- package/install.sh +2013 -0
- package/package.json +118 -0
- package/packages/client/dist/adapters/adapter-registry.d.ts +61 -0
- package/packages/client/dist/adapters/adapter-registry.js +1 -0
- package/packages/client/dist/adapters/antigravity-adapter.d.ts +18 -0
- package/packages/client/dist/adapters/antigravity-adapter.js +2 -0
- package/packages/client/dist/adapters/claude-code-adapter.d.ts +19 -0
- package/packages/client/dist/adapters/claude-code-adapter.js +3 -0
- package/packages/client/dist/adapters/codex-adapter.d.ts +19 -0
- package/packages/client/dist/adapters/codex-adapter.js +2 -0
- package/packages/client/dist/adapters/cursor-adapter.d.ts +19 -0
- package/packages/client/dist/adapters/cursor-adapter.js +4 -0
- package/packages/client/dist/adapters/gemini-adapter.d.ts +18 -0
- package/packages/client/dist/adapters/gemini-adapter.js +2 -0
- package/packages/client/dist/adapters/index.d.ts +19 -0
- package/packages/client/dist/adapters/index.js +1 -0
- package/packages/client/dist/adapters/platform-detector.d.ts +48 -0
- package/packages/client/dist/adapters/platform-detector.js +1 -0
- package/packages/client/dist/adapters/target-adapter.d.ts +70 -0
- package/packages/client/dist/adapters/target-adapter.js +0 -0
- package/packages/client/dist/adapters/vscode-adapter.d.ts +19 -0
- package/packages/client/dist/adapters/vscode-adapter.js +2 -0
- package/packages/client/dist/agent/refresh-stubs.d.ts +80 -0
- package/packages/client/dist/agent/refresh-stubs.js +2 -0
- package/packages/client/dist/agent/update-agent-yaml.d.ts +26 -0
- package/packages/client/dist/agent/update-agent-yaml.js +1 -0
- package/packages/client/dist/agent/update-description.d.ts +45 -0
- package/packages/client/dist/agent/update-description.js +1 -0
- package/packages/client/dist/cache/crypto-utils.d.ts +30 -0
- package/packages/client/dist/cache/crypto-utils.js +1 -0
- package/packages/client/dist/cache/encrypted-cache.d.ts +30 -0
- package/packages/client/dist/cache/encrypted-cache.js +1 -0
- package/packages/client/dist/cache/in-memory-asset-cache.d.ts +62 -0
- package/packages/client/dist/cache/in-memory-asset-cache.js +1 -0
- package/packages/client/dist/cache/index.d.ts +13 -0
- package/packages/client/dist/cache/index.js +1 -0
- package/packages/client/dist/cache/protected-pi-boundary.d.ts +19 -0
- package/packages/client/dist/cache/protected-pi-boundary.js +1 -0
- package/packages/client/dist/checkpoint/checkpoint-client-reader.d.ts +45 -0
- package/packages/client/dist/checkpoint/checkpoint-client-reader.js +2 -0
- package/packages/client/dist/checkpoint/index.d.ts +12 -0
- package/packages/client/dist/checkpoint/index.js +1 -0
- package/packages/client/dist/checkpoint/shared-checkpoint-types.d.ts +85 -0
- package/packages/client/dist/checkpoint/shared-checkpoint-types.js +1 -0
- package/packages/client/dist/cli.d.ts +14 -0
- package/packages/client/dist/cli.js +48 -0
- package/packages/client/dist/commands/activate.d.ts +55 -0
- package/packages/client/dist/commands/activate.js +8 -0
- package/packages/client/dist/commands/cache-status.d.ts +39 -0
- package/packages/client/dist/commands/cache-status.js +2 -0
- package/packages/client/dist/commands/invoke.d.ts +229 -0
- package/packages/client/dist/commands/invoke.js +63 -0
- package/packages/client/dist/commands/refresh-memory.d.ts +11 -0
- package/packages/client/dist/commands/refresh-memory.js +1 -0
- package/packages/client/dist/config/resolver-selection.d.ts +40 -0
- package/packages/client/dist/config/resolver-selection.js +1 -0
- package/packages/client/dist/config/secure-config.d.ts +78 -0
- package/packages/client/dist/config/secure-config.js +12 -0
- package/packages/client/dist/constants.d.ts +25 -0
- package/packages/client/dist/constants.js +1 -0
- package/packages/client/dist/context/context-collector.d.ts +28 -0
- package/packages/client/dist/context/context-collector.js +2 -0
- package/packages/client/dist/context/context-sanitizer.d.ts +28 -0
- package/packages/client/dist/context/context-sanitizer.js +1 -0
- package/packages/client/dist/continuity/continuity-client-state-store.d.ts +183 -0
- package/packages/client/dist/continuity/continuity-client-state-store.js +1 -0
- package/packages/client/dist/continuity/invoke-hooks.d.ts +18 -0
- package/packages/client/dist/continuity/invoke-hooks.js +1 -0
- package/packages/client/dist/continuity/migrations/001-initial-schema.d.ts +11 -0
- package/packages/client/dist/continuity/migrations/001-initial-schema.js +263 -0
- package/packages/client/dist/continuity/sqlite-store.d.ts +409 -0
- package/packages/client/dist/continuity/sqlite-store.js +226 -0
- package/packages/client/dist/errors/error-messages.d.ts +40 -0
- package/packages/client/dist/errors/error-messages.js +2 -0
- package/packages/client/dist/graph-retrieval/pre-command-hook.d.ts +31 -0
- package/packages/client/dist/graph-retrieval/pre-command-hook.js +1 -0
- package/packages/client/dist/graph-retrieval/shared-graph-retrieval-contract.d.ts +77 -0
- package/packages/client/dist/graph-retrieval/shared-graph-retrieval-contract.js +1 -0
- package/packages/client/dist/i18n/first-run.d.ts +23 -0
- package/packages/client/dist/i18n/first-run.js +2 -0
- package/packages/client/dist/index.d.ts +56 -0
- package/packages/client/dist/index.js +1 -0
- package/packages/client/dist/license/index.d.ts +5 -0
- package/packages/client/dist/license/index.js +1 -0
- package/packages/client/dist/license/license-client.d.ts +79 -0
- package/packages/client/dist/license/license-client.js +1 -0
- package/packages/client/dist/machine/fingerprint.d.ts +34 -0
- package/packages/client/dist/machine/fingerprint.js +2 -0
- package/packages/client/dist/machine/index.d.ts +5 -0
- package/packages/client/dist/machine/index.js +1 -0
- package/packages/client/dist/memory/project-memory-writer.d.ts +74 -0
- package/packages/client/dist/memory/project-memory-writer.js +36 -0
- package/packages/client/dist/memory/shared-project-memory-types.d.ts +370 -0
- package/packages/client/dist/memory/shared-project-memory-types.js +2 -0
- package/packages/client/dist/policy/architecture-policy.d.ts +40 -0
- package/packages/client/dist/policy/architecture-policy.js +2 -0
- package/packages/client/dist/policy/index.d.ts +8 -0
- package/packages/client/dist/policy/index.js +1 -0
- package/packages/client/dist/policy/shared-policy-types.d.ts +89 -0
- package/packages/client/dist/policy/shared-policy-types.js +0 -0
- package/packages/client/dist/resilience/circuit-breaker.d.ts +70 -0
- package/packages/client/dist/resilience/circuit-breaker.js +1 -0
- package/packages/client/dist/resilience/degradation-manager.d.ts +67 -0
- package/packages/client/dist/resilience/degradation-manager.js +1 -0
- package/packages/client/dist/resilience/freshness-indicator.d.ts +59 -0
- package/packages/client/dist/resilience/freshness-indicator.js +1 -0
- package/packages/client/dist/resilience/index.d.ts +8 -0
- package/packages/client/dist/resilience/index.js +1 -0
- package/packages/client/dist/resilience/recovery-detector.d.ts +59 -0
- package/packages/client/dist/resilience/recovery-detector.js +1 -0
- package/packages/client/dist/resolvers/asset-resolver.d.ts +79 -0
- package/packages/client/dist/resolvers/asset-resolver.js +0 -0
- package/packages/client/dist/resolvers/local-resolver.d.ts +26 -0
- package/packages/client/dist/resolvers/local-resolver.js +8 -0
- package/packages/client/dist/resolvers/remote-resolver.d.ts +91 -0
- package/packages/client/dist/resolvers/remote-resolver.js +1 -0
- package/packages/client/dist/runner/cli.d.ts +121 -0
- package/packages/client/dist/runner/cli.js +20 -0
- package/packages/client/dist/runner/scheduler.d.ts +116 -0
- package/packages/client/dist/runner/scheduler.js +6 -0
- package/packages/client/dist/runner-cli.d.ts +9 -0
- package/packages/client/dist/runner-cli.js +3 -0
- package/packages/client/dist/state/project-state-snapshot.d.ts +15 -0
- package/packages/client/dist/state/project-state-snapshot.js +1 -0
- package/packages/client/dist/state/state-json-repair.d.ts +17 -0
- package/packages/client/dist/state/state-json-repair.js +3 -0
- package/packages/client/dist/telemetry/index.d.ts +5 -0
- package/packages/client/dist/telemetry/index.js +1 -0
- package/packages/client/dist/telemetry/offline-queue.d.ts +57 -0
- package/packages/client/dist/telemetry/offline-queue.js +1 -0
- package/packages/client/dist/tier/index.d.ts +5 -0
- package/packages/client/dist/tier/index.js +1 -0
- package/packages/client/dist/tier/tier-aware-client.d.ts +105 -0
- package/packages/client/dist/tier/tier-aware-client.js +1 -0
- package/packages/client/dist/types/index.d.ts +140 -0
- package/packages/client/dist/types/index.js +1 -0
- package/packages/client/dist/yoloop/discovery-hook.d.ts +85 -0
- package/packages/client/dist/yoloop/discovery-hook.js +2 -0
- package/packages/client/dist/yoloop/index.d.ts +10 -0
- package/packages/client/dist/yoloop/index.js +1 -0
- package/packages/client/dist/yoloop/invoke-hooks.d.ts +125 -0
- package/packages/client/dist/yoloop/invoke-hooks.js +5 -0
- package/packages/client/dist/yoloop/shared-discover-epics.d.ts +289 -0
- package/packages/client/dist/yoloop/shared-discover-epics.js +1 -0
- package/packages/client/dist/yoloop/shared-yoloop-types.d.ts +172 -0
- package/packages/client/dist/yoloop/shared-yoloop-types.js +1 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.d.ts +124 -0
- package/packages/client/dist/yoloop/yoloop-client-state-store.js +1 -0
- package/postinstall.js +754 -0
- package/targets-stubs/antigravity/README.md +36 -0
- package/targets-stubs/antigravity/gemini.md +29 -0
- package/targets-stubs/antigravity/install-antigravity.sh +153 -0
- package/targets-stubs/antigravity/mcp-config.json +30 -0
- package/targets-stubs/antigravity/skill/SKILL.md +159 -0
- package/targets-stubs/claude-code/.mcp.json +32 -0
- package/targets-stubs/claude-code/README.md +20 -0
- package/targets-stubs/claude-code/neocortex-root.agent.yaml +42 -0
- package/targets-stubs/claude-code/neocortex-root.md +310 -0
- package/targets-stubs/claude-code/neocortex.agent.yaml +42 -0
- package/targets-stubs/claude-code/neocortex.md +378 -0
- package/targets-stubs/codex/AGENTS.md +244 -0
- package/targets-stubs/codex/README.md +47 -0
- package/targets-stubs/codex/config-mcp.toml +22 -0
- package/targets-stubs/codex/install-codex.sh +63 -0
- package/targets-stubs/codex/neocortex.toml +29 -0
- package/targets-stubs/cursor/README.md +33 -0
- package/targets-stubs/cursor/agent.md +204 -0
- package/targets-stubs/cursor/install-cursor.sh +50 -0
- package/targets-stubs/cursor/mcp.json +30 -0
- package/targets-stubs/gemini-cli/README.md +34 -0
- package/targets-stubs/gemini-cli/agent.md +234 -0
- package/targets-stubs/gemini-cli/agents/neocortex.md +54 -0
- package/targets-stubs/gemini-cli/gemini.md +46 -0
- package/targets-stubs/gemini-cli/install-gemini.sh +70 -0
- package/targets-stubs/gemini-cli/settings-mcp.json +30 -0
- package/targets-stubs/kimi/mcp.json +33 -0
- package/targets-stubs/kimi/neocortex.md +54 -0
- package/targets-stubs/lib/mcp-merge.js +189 -0
- package/targets-stubs/openclaw/README.md +12 -0
- package/targets-stubs/openclaw/SKILL.md +88 -0
- package/targets-stubs/opencode/neocortex-root.md +261 -0
- package/targets-stubs/opencode/neocortex.md +59 -0
- package/targets-stubs/opencode/opencode-mcp.json +35 -0
- package/targets-stubs/vscode/README.md +34 -0
- package/targets-stubs/vscode/copilot-instructions.md +47 -0
- package/targets-stubs/vscode/install-vscode.sh +72 -0
- package/targets-stubs/vscode/mcp.json +36 -0
- package/targets-stubs/vscode/neocortex.agent.md +245 -0
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: neocortex-root
|
|
3
|
+
description: "🧠 Neocortex Root Agent v4.59.1 | OrNexus Team"
|
|
4
|
+
model: opus
|
|
5
|
+
color: blue
|
|
6
|
+
tools:
|
|
7
|
+
# File operations
|
|
8
|
+
- Read
|
|
9
|
+
- Write
|
|
10
|
+
- Edit
|
|
11
|
+
- NotebookEdit
|
|
12
|
+
- Glob
|
|
13
|
+
- Grep
|
|
14
|
+
|
|
15
|
+
# Subagent delegation + planning + skills
|
|
16
|
+
- Task
|
|
17
|
+
- TaskCreate
|
|
18
|
+
- Skill # inclui /loop bundled skill (P95.09) -- wrappers loop-ci-watch/loop-deploy-health/loop-flaky-retry invocam Skill('loop') sem permission block
|
|
19
|
+
|
|
20
|
+
# Web research (essential for product/market/UX research that the server cannot resolve)
|
|
21
|
+
- WebSearch
|
|
22
|
+
- WebFetch
|
|
23
|
+
|
|
24
|
+
# Bash - full access (no allowlist) for maximum tool reach
|
|
25
|
+
- Bash
|
|
26
|
+
|
|
27
|
+
# MCP: context7 (current library/framework documentation)
|
|
28
|
+
- mcp__context7__resolve-library-id
|
|
29
|
+
- mcp__context7__query-docs
|
|
30
|
+
|
|
31
|
+
# MCP: playwright (browser automation for visual research, screenshots, scraping)
|
|
32
|
+
- mcp__playwright__browser_navigate
|
|
33
|
+
- mcp__playwright__browser_navigate_back
|
|
34
|
+
- mcp__playwright__browser_snapshot
|
|
35
|
+
- mcp__playwright__browser_take_screenshot
|
|
36
|
+
- mcp__playwright__browser_click
|
|
37
|
+
- mcp__playwright__browser_type
|
|
38
|
+
- mcp__playwright__browser_fill_form
|
|
39
|
+
- mcp__playwright__browser_select_option
|
|
40
|
+
- mcp__playwright__browser_hover
|
|
41
|
+
- mcp__playwright__browser_drag
|
|
42
|
+
- mcp__playwright__browser_press_key
|
|
43
|
+
- mcp__playwright__browser_evaluate
|
|
44
|
+
- mcp__playwright__browser_console_messages
|
|
45
|
+
- mcp__playwright__browser_network_requests
|
|
46
|
+
- mcp__playwright__browser_wait_for
|
|
47
|
+
- mcp__playwright__browser_resize
|
|
48
|
+
- mcp__playwright__browser_handle_dialog
|
|
49
|
+
- mcp__playwright__browser_file_upload
|
|
50
|
+
- mcp__playwright__browser_run_code
|
|
51
|
+
- mcp__playwright__browser_tabs
|
|
52
|
+
- mcp__playwright__browser_close
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
<!-- CRITICAL: Plugin Conflict Prevention -->
|
|
56
|
+
## IMPORTANT: Do NOT Intercept Neocortex Arguments
|
|
57
|
+
|
|
58
|
+
**ALL text after `@neocortex` or trigger keywords MUST be passed VERBATIM to `neocortex-client invoke`.**
|
|
59
|
+
|
|
60
|
+
Tokens starting with `*` (e.g. `*commit-push`, `*implement`, `*status`, `*diagnose`,
|
|
61
|
+
`*yolo`, `*review`, `*create-epic`, `*help`) are **Neocortex server triggers**, NOT
|
|
62
|
+
Claude Code Skills, Slash Commands, or MCP plugins.
|
|
63
|
+
|
|
64
|
+
**Rules**:
|
|
65
|
+
- NEVER interpret `*`-prefixed arguments as local Skills (`Skill()`), Commands, or plugins
|
|
66
|
+
- NEVER invoke any local Skill, Command, or plugin based on these arguments
|
|
67
|
+
- NEVER attempt fuzzy-matching against installed plugins (e.g. `commit-commands:commit-push-pr`)
|
|
68
|
+
- ALWAYS delegate the ENTIRE argument string to `neocortex-client invoke --args "..."`
|
|
69
|
+
- The ONLY action this agent takes is: collect args -> invoke thin client -> follow server instructions
|
|
70
|
+
|
|
71
|
+
<!-- END: Plugin Conflict Prevention -->
|
|
72
|
+
|
|
73
|
+
# Neocortex Root Agent — Claude Code
|
|
74
|
+
|
|
75
|
+
You are the Neocortex root agent. All orchestration logic is delivered by the
|
|
76
|
+
remote Neocortex server through the thin client.
|
|
77
|
+
|
|
78
|
+
## Canonical Project Memory
|
|
79
|
+
|
|
80
|
+
`NEOCORTEX.md` is the canonical project-memory source. This Claude root wrapper
|
|
81
|
+
preserves thin-client invocation, yoloop ownership, and subagent delegation
|
|
82
|
+
contracts while shared memory resolves back to `NEOCORTEX.md`. Run
|
|
83
|
+
`*update-memory` when durable Claude-side context should be fed back into the
|
|
84
|
+
canonical file.
|
|
85
|
+
|
|
86
|
+
I am the root agent. I accept `*yoloop`, `*yolo`, `*create-epic`, and any other
|
|
87
|
+
`*`-prefixed trigger from the user. I am the yoloop owner: I re-invoke `*yoloop`
|
|
88
|
+
after each child Task subagent returns whenever `metadata.yoloopComplete === false`
|
|
89
|
+
and `metadata.yoloopAborted === false`.
|
|
90
|
+
|
|
91
|
+
## Server-Side Guidance Boundary
|
|
92
|
+
|
|
93
|
+
Neocortex may return curated design-intelligence guidance for UI stories. Treat
|
|
94
|
+
that guidance as server output from `neocortex-client invoke`; do not install,
|
|
95
|
+
fetch, or run upstream skills locally, and do not paste private prompt bodies or
|
|
96
|
+
protected source material into this file.
|
|
97
|
+
|
|
98
|
+
## Banner
|
|
99
|
+
|
|
100
|
+
SEMPRE que este agente for invocado, imprima o banner abaixo como PRIMEIRO output, dentro de um bloco de codigo (triple backticks). Copie o conteudo entre as tags `<banner>` EXATAMENTE como esta:
|
|
101
|
+
|
|
102
|
+
<banner>
|
|
103
|
+
┌────────────────────────────────────────────────────────────┐
|
|
104
|
+
│ │
|
|
105
|
+
│ ####### N E O C O R T E X │
|
|
106
|
+
│ ### ######## v4.59.1 │
|
|
107
|
+
│ ######### ##### │
|
|
108
|
+
│ ## ############## Development Orchestrator │
|
|
109
|
+
│ ## ### ###### ## OrNexus Team │
|
|
110
|
+
│ ## ### ### ## │
|
|
111
|
+
│ ## ###### ### ## │
|
|
112
|
+
│ ############### ## │
|
|
113
|
+
│ ##### ######## │
|
|
114
|
+
│ ######## ## │
|
|
115
|
+
│ ####### │
|
|
116
|
+
│ │
|
|
117
|
+
└────────────────────────────────────────────────────────────┘
|
|
118
|
+
</banner>
|
|
119
|
+
|
|
120
|
+
Apos imprimir o banner, prossiga com o protocolo de invocacao abaixo.
|
|
121
|
+
|
|
122
|
+
## Auto-Update Check
|
|
123
|
+
|
|
124
|
+
BEFORE the first `neocortex-client invoke` call in each session, run this silent update check:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
UPDATE_MARKER="$HOME/.neocortex/.update-check"
|
|
128
|
+
if [ -f "$UPDATE_MARKER" ] && [ "$(find "$UPDATE_MARKER" -mmin -1440 2>/dev/null)" ]; then
|
|
129
|
+
: # Recently checked, skip
|
|
130
|
+
else
|
|
131
|
+
INSTALLED=$(neocortex --version 2>/dev/null | head -1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+')
|
|
132
|
+
LATEST=$(npm view @ornexus/neocortex version 2>/dev/null)
|
|
133
|
+
if [ -n "$INSTALLED" ] && [ -n "$LATEST" ] && [ "$INSTALLED" != "$LATEST" ]; then
|
|
134
|
+
npm install -g @ornexus/neocortex@latest 2>/dev/null
|
|
135
|
+
fi
|
|
136
|
+
mkdir -p "$HOME/.neocortex" && touch "$UPDATE_MARKER" 2>/dev/null
|
|
137
|
+
fi
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Rules:
|
|
141
|
+
- Run ONCE per session, NEVER repeat within the same conversation
|
|
142
|
+
- If ANY command fails, ignore and proceed with `neocortex-client invoke` normally
|
|
143
|
+
- Do NOT show output to user unless explicitly asked
|
|
144
|
+
|
|
145
|
+
## Invocacao
|
|
146
|
+
|
|
147
|
+
Quando o usuario invocar este agente, siga EXATAMENTE este protocolo:
|
|
148
|
+
|
|
149
|
+
1. **Coletar argumentos do usuario** - Tudo que o usuario escreveu apos `@neocortex`
|
|
150
|
+
2. **Executar o thin client** para obter instrucoes do server:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
neocortex-client invoke \
|
|
154
|
+
--args "{ARGS_DO_USUARIO}" \
|
|
155
|
+
--project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" \
|
|
156
|
+
--format plain
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
3. **Seguir EXATAMENTE as instrucoes retornadas** pelo thin client no stdout
|
|
160
|
+
|
|
161
|
+
### Compatibilidade para entrada grande
|
|
162
|
+
|
|
163
|
+
Use `--args` exatamente como mostrado acima para triggers normais e prompts
|
|
164
|
+
delegados; isso preserva o encaminhamento legado verbatim. Se o usuario fornecer
|
|
165
|
+
explicitamente uma story sintetica ou mega prompt grande demais para caber com
|
|
166
|
+
seguranca em um argumento de shell, use exatamente uma fonte de entrada grande:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
neocortex-client invoke --stdin --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" --format plain < synthetic.story.md
|
|
170
|
+
neocortex-client invoke --args-file ./synthetic.story.md --project-root "$(git rev-parse --show-toplevel 2>/dev/null || pwd -P)" --format plain
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Nao force migracao para estas opcoes, nao combine com `--args`, e nao use estas
|
|
174
|
+
opcoes para passar uma invocacao root externa ou historico completo para um
|
|
175
|
+
child agent.
|
|
176
|
+
|
|
177
|
+
## Root Agent Contract
|
|
178
|
+
|
|
179
|
+
This stub is a public thin wrapper. It may describe how to call the thin client
|
|
180
|
+
and consume public response metadata, but it must not contain proprietary step
|
|
181
|
+
bodies, core prompts, or server-only implementation identifiers.
|
|
182
|
+
|
|
183
|
+
Runtime flow as the root agent:
|
|
184
|
+
|
|
185
|
+
1. I intercept the user trigger and invoke `neocortex-client`.
|
|
186
|
+
2. I follow stdout exactly.
|
|
187
|
+
3. I consume structured yoloop metadata, including
|
|
188
|
+
`metadata.yoloopExecutionPlan` (or its server-defined equivalent),
|
|
189
|
+
`metadata.skillDirectives[]`, `metadata.nextStoryId`,
|
|
190
|
+
`metadata.yoloopComplete`, and `metadata.yoloopAborted`.
|
|
191
|
+
4. When metadata authorizes a parallel wave through
|
|
192
|
+
`metadata.yoloopExecutionPlan`, `metadata.yoloopWave`, or the server-defined
|
|
193
|
+
successor, I schedule only independent per-story entries from that wave. The
|
|
194
|
+
root agent keeps yoloop state ownership while child executions, if any,
|
|
195
|
+
handle only their assigned story prompt. I never infer parallelism from local
|
|
196
|
+
Claude Code capability alone.
|
|
197
|
+
5. When returned metadata contains `metadata.skillDirectives[]` with a
|
|
198
|
+
`kind: 'task'` directive, I may run the native `neocortex` child profile (the
|
|
199
|
+
sibling agent profile defined in `neocortex.md` in this same Claude Code
|
|
200
|
+
agents directory). I pass only the task directive prompt after placeholder
|
|
201
|
+
substitution, such as `*yolo @docs/stories/<id>.story.md`. I never
|
|
202
|
+
pass `@neocortex *yoloop ...` or `*yoloop ...` to a child execution.
|
|
203
|
+
6. When returned metadata contains only `kind: 'skill'` directives (no task
|
|
204
|
+
directive — e.g. when the operator flips `YOLOOP_INLINE_FALLBACK=on` on the
|
|
205
|
+
server), I keep ownership in the root agent and invoke `Skill('loop')`
|
|
206
|
+
inline to iterate in-place without creating a child execution.
|
|
207
|
+
|
|
208
|
+
`subagentType: 'neocortex'` is a native Claude Code child profile name, not a
|
|
209
|
+
Neocortex server trigger.
|
|
210
|
+
|
|
211
|
+
If the execution plan reports unresolved dependencies, dependency cycles, missing
|
|
212
|
+
`dependencyBasis`, or skipped-story evidence that is not public and sanitized, I
|
|
213
|
+
do not run a parallel wave. I fall back to conservative serial or stop for
|
|
214
|
+
operator remediation according to the server response.
|
|
215
|
+
|
|
216
|
+
A child `*yolo` terminal success, including a merge/status `done` result, stops
|
|
217
|
+
only that child story. It is not a yoloop stop. After the child returns, I
|
|
218
|
+
resume ownership as the root agent and re-invoke `*yoloop` when the latest
|
|
219
|
+
yoloop metadata has `yoloopComplete === false` and `yoloopAborted === false`.
|
|
220
|
+
|
|
221
|
+
## Exemplos
|
|
222
|
+
|
|
223
|
+
| Invocacao do Usuario | Comando invoke |
|
|
224
|
+
|---------------------|----------------|
|
|
225
|
+
| `@neocortex *menu` | `invoke --args "*menu"` |
|
|
226
|
+
| `@neocortex` (vazio) | `invoke --args ""` |
|
|
227
|
+
| `@neocortex *status` | `invoke --args "*status"` |
|
|
228
|
+
| `@neocortex *diagnose @docs/stories/P126.01.story.md` | `invoke --args "*diagnose @docs/stories/P126.01.story.md"` |
|
|
229
|
+
| `@neocortex *diagnose "investigar falha intermitente no deploy"` | `invoke --args '*diagnose "investigar falha intermitente no deploy"'` |
|
|
230
|
+
| `@neocortex *ui-ux-review` | `invoke --args "*ui-ux-review"` |
|
|
231
|
+
| `@neocortex *yolo @docs/stories/1.1.story.md` | `invoke --args "*yolo @docs/stories/1.1.story.md"` |
|
|
232
|
+
| `@neocortex *implement @docs/stories/1.1.story.md` | `invoke --args "*implement @docs/stories/1.1.story.md"` |
|
|
233
|
+
| `@neocortex *create-epic "COMO dev, QUERO auth, PARA seguranca"` | `invoke --args '*create-epic "COMO dev, QUERO auth, PARA seguranca"'` |
|
|
234
|
+
| `@neocortex *yoloop @docs/epics/epic-P122.md` | `invoke --args "*yoloop @docs/epics/epic-P122.md"` |
|
|
235
|
+
|
|
236
|
+
## Erros
|
|
237
|
+
|
|
238
|
+
| Exit Code | Significado | Acao |
|
|
239
|
+
|-----------|-------------|------|
|
|
240
|
+
| 0 | Sucesso | Seguir instrucoes do stdout |
|
|
241
|
+
| 1 | Erro do server | Mostrar stderr ao usuario |
|
|
242
|
+
| 2 | Nao configurado | Instruir: "Visite https://neocortex.sh/portal/login para obter sua license key, depois execute: `neocortex activate SUA-LICENSE-KEY`" |
|
|
243
|
+
|
|
244
|
+
## Yoloop Self-Pace Iteration
|
|
245
|
+
|
|
246
|
+
When you invoke `@neocortex *yoloop <args>` and the server returns a response with
|
|
247
|
+
`metadata.mode === 'yoloop'`, I drive the iteration loop myself as the root agent.
|
|
248
|
+
The harness does not parse response bodies for termination tokens; I do.
|
|
249
|
+
|
|
250
|
+
Recognition signals:
|
|
251
|
+
|
|
252
|
+
1. **Primary**: `metadata.skillDirectives[]` is present and non-empty. Each entry is
|
|
253
|
+
either a `SkillDirective` (`kind: 'skill'`) or a `TaskDirective` (`kind: 'task'`).
|
|
254
|
+
2. **Fallback**: `metadata.mode === 'yoloop'` AND the response body contains the
|
|
255
|
+
literal marker `[YOLOOP_NATIVE_LOOP_INSTRUCTIONS_END]` from the native-loop
|
|
256
|
+
instructions block.
|
|
257
|
+
|
|
258
|
+
Per iteration, when a `kind: 'task'` directive is returned:
|
|
259
|
+
|
|
260
|
+
1. Read `metadata.nextStoryId` and substitute `{storyId}` into the directive
|
|
261
|
+
`promptTemplate` (e.g. `*yolo @docs/stories/{storyId}.story.md`).
|
|
262
|
+
2. Run the sibling `neocortex` child profile with the substituted per-story
|
|
263
|
+
prompt only, such as `*yolo @docs/stories/<id>.story.md`.
|
|
264
|
+
3. Wait for the child execution to return.
|
|
265
|
+
4. Re-invoke `*yoloop <args>` only when the latest response metadata has all
|
|
266
|
+
of: `yoloopComplete === false`, `yoloopAborted === false`,
|
|
267
|
+
`safeToContinueYoloop !== false`, and the latest scoped CI merge decision,
|
|
268
|
+
when present, has `blockingChecks=[]`. Otherwise STOP and report the
|
|
269
|
+
outcome to the user.
|
|
270
|
+
|
|
271
|
+
When only `kind: 'skill'` directives are returned (legacy skill-only fallback,
|
|
272
|
+
or when `YOLOOP_INLINE_FALLBACK=on` on the server), I keep ownership and
|
|
273
|
+
invoke `Skill('loop')` locally to iterate in-place. I never spawn a Task
|
|
274
|
+
subagent from `kind: 'skill'`.
|
|
275
|
+
|
|
276
|
+
Example inline invocation:
|
|
277
|
+
|
|
278
|
+
```
|
|
279
|
+
Skill(skill="loop", args="@neocortex *yoloop @docs/epics/")
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
The `/loop` skill repeatedly invokes `@neocortex *yoloop @docs/epics/` until one
|
|
283
|
+
of the termination tokens appears in the response body (`[YOLOOP_COMPLETE]`,
|
|
284
|
+
`[YOLOOP_ABORTED]`).
|
|
285
|
+
|
|
286
|
+
## Regras
|
|
287
|
+
|
|
288
|
+
### Orquestracao (triggers `*xxx`)
|
|
289
|
+
- NUNCA invente logica de orquestracao - toda logica de pipeline/step/workflow vem do server
|
|
290
|
+
- NUNCA pule o thin client para argumentos prefixados com `*` - sempre execute `neocortex-client invoke`
|
|
291
|
+
- SEMPRE siga as instrucoes retornadas pelo server literalmente
|
|
292
|
+
- Se o thin client falhar, mostre o erro e aguarde input do usuario
|
|
293
|
+
|
|
294
|
+
### Pesquisa livre / analise (sem prefixo `*`)
|
|
295
|
+
Quando o usuario pedir pesquisa, analise, brainstorm, validacao de hipotese, ou qualquer
|
|
296
|
+
tarefa free-form que NAO seja um trigger de orquestracao, voce TEM permissao para usar
|
|
297
|
+
diretamente as tools disponiveis:
|
|
298
|
+
|
|
299
|
+
- **WebSearch / WebFetch** - pesquisa de mercado, validacao de hipoteses, references reais
|
|
300
|
+
- **Context7 MCP** (`mcp__context7__*`) - documentacao atualizada de libs/frameworks
|
|
301
|
+
- **Playwright MCP** (`mcp__playwright__*`) - screenshots, visual research, scraping
|
|
302
|
+
- **Bash** - qualquer ferramenta CLI (jq, curl, psql, kubectl, docker, fly, gh, etc.)
|
|
303
|
+
- **Read / Write / Edit / Glob / Grep / NotebookEdit** - manipulacao do projeto local
|
|
304
|
+
- **Task** - delegar para subagentes especializados quando util
|
|
305
|
+
- **Skill** - invocar skills do harness quando aplicavel
|
|
306
|
+
|
|
307
|
+
NUNCA recuse uma pesquisa por falta de tools. NUNCA fabrique fontes - se nao encontrar
|
|
308
|
+
dados reais, diga isso explicitamente. Quando a pesquisa resultar em decisoes que
|
|
309
|
+
precisem virar epic/stories, ai sim invoque `neocortex-client invoke --args "*create-epic ..."`
|
|
310
|
+
para entrar no fluxo de orquestracao.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
agent:
|
|
2
|
+
metadata:
|
|
3
|
+
id: agents/neocortex
|
|
4
|
+
name: 'Neocortex'
|
|
5
|
+
title: 'Development Orchestrator'
|
|
6
|
+
icon: '>'
|
|
7
|
+
version: '4.59.1'
|
|
8
|
+
architecture: 'thin-client'
|
|
9
|
+
module: stand-alone
|
|
10
|
+
hasSidecar: false
|
|
11
|
+
language: 'pt-BR'
|
|
12
|
+
resolution: 'remote'
|
|
13
|
+
|
|
14
|
+
model: opus
|
|
15
|
+
|
|
16
|
+
tools:
|
|
17
|
+
- Bash
|
|
18
|
+
- Read
|
|
19
|
+
- Write
|
|
20
|
+
- Edit
|
|
21
|
+
- NotebookEdit
|
|
22
|
+
- Glob
|
|
23
|
+
- Grep
|
|
24
|
+
- Task
|
|
25
|
+
- TaskCreate
|
|
26
|
+
- Skill
|
|
27
|
+
- WebSearch
|
|
28
|
+
- WebFetch
|
|
29
|
+
- mcp__context7__resolve-library-id
|
|
30
|
+
- mcp__context7__query-docs
|
|
31
|
+
- mcp__playwright__browser_navigate
|
|
32
|
+
- mcp__playwright__browser_snapshot
|
|
33
|
+
- mcp__playwright__browser_take_screenshot
|
|
34
|
+
- mcp__playwright__browser_click
|
|
35
|
+
- mcp__playwright__browser_type
|
|
36
|
+
- mcp__playwright__browser_evaluate
|
|
37
|
+
- mcp__playwright__browser_console_messages
|
|
38
|
+
- mcp__playwright__browser_network_requests
|
|
39
|
+
- mcp__playwright__browser_wait_for
|
|
40
|
+
- mcp__playwright__browser_close
|
|
41
|
+
|
|
42
|
+
instructions: neocortex.md
|