pantheon-opencode 1.1.1-beta.11 → 1.1.1-beta.12

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.
@@ -1,48 +0,0 @@
1
- ---
2
- description: "Search memories by text with optional namespace filter, category, and result limit. /pantheon-search <query> --namespace=<ns> --top=<N> --stats. Usage: /pantheon-search"
3
- agent: "zeus"
4
- ---
5
- # /pantheon-search — Memory Search
6
-
7
- **What:** Searches memory entries via `memory_search()` with hybrid vector + keyword (RRF fusion). Supports namespace filter, result limit, and stats view.
8
-
9
- ## Usage
10
-
11
- ```
12
- /pantheon-search "FastAPI performance" → Busca em todos os namespaces
13
- /pantheon-search "FastAPI" --namespace=decisions → Busca só em decisions
14
- /pantheon-search "bug pattern" --namespace=sessions --top=10 → 10 resultados
15
- /pantheon-search --stats → memory_stats() completo
16
- /pantheon-search --stats --namespace=decisions → Stats por namespace
17
- ```
18
-
19
- ## Flags
20
-
21
- | Flag | Default | Descrição |
22
- |------|---------|-----------|
23
- | `--namespace=<ns>` | `all` | Filtrar por namespace específico |
24
- | `--top=<N>` | `5` | Número de resultados (max 50) |
25
- | `--stats` | off | Mostrar estatísticas em vez de buscar |
26
-
27
- ## Output (search)
28
-
29
- ```
30
- 🔍 Memory Search: "FastAPI performance"
31
-
32
- Results (namespace: all):
33
- #1 │ decisions │ "Decisão: usar FastAPI..." │ score: 0.89 │ 2026-07-20
34
- #2 │ repo │ "FastAPI async patterns" │ score: 0.74 │ 2026-07-18
35
- #3 │ sessions │ "FastAPI migration done" │ score: 0.61 │ 2026-07-15
36
-
37
- Found 3 results in 2 namespaces (0.23s)
38
- ```
39
-
40
- ## Output (stats)
41
-
42
- ```
43
- 📊 Memory Stats
44
- Total entries: 142
45
- Namespaces: decisions (58), sessions (44), repo (28), default (12)
46
- Vector entries: 142
47
- DB size: 1.2 MB
48
- ```
@@ -1,71 +0,0 @@
1
- ---
2
- description: "Show Pantheon version, model tier, and all available agents with status"
3
- agent: "zeus"
4
- ---
5
- # /pantheon-status — System Status & Agent Registry
6
-
7
- **What:** Displays the current Pantheon version, model tier (Pro/Free), and a full status table of all agents.
8
- **Usage:** `/pantheon-status`
9
- **Returns:** Version badge · model tier · agent table with availability
10
- **Use when:** You want to see what version of Pantheon is running and which agents are loaded
11
-
12
- ## Output Format
13
-
14
- Produce EXACTLY this structure:
15
-
16
- ```
17
- ## 🏛️ Pantheon System Status
18
-
19
- **Version:** vX.Y.Z
20
- **Model Tier:** Pro (premium models) | Free (default models)
21
- **Platform:** <detect: opencode | claude | cursor | windsurf | vscode>
22
- **Agents loaded:** N of 14
23
-
24
- ### Agent Registry
25
-
26
- | Agent | Role | Tier | Status |
27
- |-------|------|------|--------|
28
- | @zeus | Central orchestrator | default | ✅ |
29
- | @athena | Strategic planner | premium | ✅ |
30
- | @hermes | Backend (FastAPI) | default | ✅ |
31
- | @aphrodite | Frontend (React) | default | ✅ |
32
- | @demeter | Database | default | ✅ |
33
- | @themis | Quality & security | premium | ✅ |
34
- | @prometheus | Infrastructure | default | ✅ |
35
- | @apollo | Codebase discovery | fast | ✅ |
36
- | @iris | GitHub operations | fast | ✅ |
37
- | @mnemosyne | Memory bank | fast | ✅ |
38
- | @talos | Hotfixes | fast | ✅ |
39
- | @hephaestus | AI pipelines | default | ✅ |
40
- | @nyx | Observability | fast | ✅ |
41
- | @gaia | Remote sensing | fast | ✅ |
42
-
43
- ### Commands Available
44
-
45
- `/pantheon` `/pantheon-status` `/audit` `/focus` `/deepwork` `/optimize` `/sketch` `/` `/` `/` `/pantheon-remember` `/pantheon-search` `/` `/pantheon-forget`
46
-
47
- ### Health
48
-
49
- - ✅ All agents responding
50
- - ⚠️ N agents degraded (if any)
51
- - ❌ N agents unavailable (if any)
52
- ```
53
-
54
- ## How to Detect Version
55
-
56
- Read `package.json` → `"version"` field. If unavailable, read `plugin.json` → `"version"`.
57
-
58
- ## How to Detect Model Tier
59
-
60
- - **Pro:** Any agent with `model_tier: premium` in `routing.yml` is using a premium model (athena, themis)
61
- - **Free:** All agents using `default` or `fast` tier models
62
- - Report based on what `routing.yml` declares for the active platform
63
-
64
- ## How to Detect Platform
65
-
66
- Check for platform-specific markers:
67
- - `opencode.json` present → **OpenCode**
68
- - `.claude/` directory → **Claude Code**
69
- - `.cursor/` directory → **Cursor**
70
- - `.windsurf/` directory → **Windsurf**
71
- - `.vscode/` directory → **VS Code Copilot**
@@ -1,49 +0,0 @@
1
- ---
2
- description: "Dispatch a question to 2-4 specialist agents via inline Zeus council"
3
- agent: zeus
4
- ---
5
- # /pantheon — Council Synthesis
6
-
7
- **What:** Dispatches the question to 2-3 specialist agents **in parallel** via `task()`, then synthesizes their responses into a single recommendation with resolved divergences.
8
- **Usage:** `/pantheon <question>`
9
- **When:** Architecture trade-offs, technology selection, security assessments, multi-stakeholder concerns
10
- **Returns:** Structured synthesis with recommendation, confidence level, resolved divergences
11
-
12
- ## Dispatch Selection
13
-
14
- Choose 2-3 agents based on domain:
15
-
16
- | Domain | Specialists |
17
- |--------|-------------|
18
- | Architecture | hermes, demeter, themis, athena |
19
- | Security | themis, hermes, prometheus, nyx |
20
- | Database | demeter, hermes, prometheus |
21
- | AI/RAG | hephaestus, nyx |
22
- | Infrastructure | prometheus, hermes, themis |
23
- | Frontend/UX | aphrodite, themis, hermes |
24
- | Observability | nyx, hermes |
25
- | General | athena, themis, hermes |
26
-
27
- Send ALL `task()` calls in a single message. Each must return: Recommendation · Reasoning · Trade-offs · Risks · Confidence.
28
-
29
- ## Synthesis Structure
30
-
31
- After ALL responses arrive, produce EXACTLY this structure:
32
-
33
- ### 📋 Individual Assessments
34
- For each specialist: Recommendation, Reasoning, Trade-offs, Risks, Confidence
35
-
36
- ### ✅ Agreements
37
- Where 2+ specialists converge
38
-
39
- ### ⚡ Divergences
40
- Where they disagree — resolve each one with reasoning
41
-
42
- ### 🔥 Total Divergence
43
- If ALL specialists disagree on a point, call this out explicitly
44
-
45
- ### 🏆 Recommendation
46
- Decisive conclusion with confidence level
47
-
48
- ## Question:
49
- $ARGUMENTS
@@ -1,23 +0,0 @@
1
- #!/usr/bin/env bash
2
- # check-version-consistency.sh — Verifies all 3 manifests have the same version
3
- set -euo pipefail
4
-
5
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6
- ROOT="$(dirname "$SCRIPT_DIR")"
7
-
8
- pkg_ver=$(node -p "require('$ROOT/package.json').version")
9
- plugin_ver=$(node -p "require('$ROOT/plugin.json').version")
10
- gh_plugin_ver=$(node -p "require('$ROOT/.github/plugin/plugin.json').version")
11
-
12
- echo "package.json: $pkg_ver"
13
- echo "plugin.json: $plugin_ver"
14
- echo ".github/plugin/plugin.json: $gh_plugin_ver"
15
-
16
- if [ "$pkg_ver" != "$plugin_ver" ] || [ "$pkg_ver" != "$gh_plugin_ver" ]; then
17
- echo "❌ Version mismatch across manifests!"
18
- echo ""
19
- echo "Fix: run 'node scripts/versioning.mjs apply' to sync all manifests"
20
- exit 1
21
- fi
22
-
23
- echo "✅ All versions match: $pkg_ver"
@@ -1,104 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * generate-routing-docs.mjs — Generate routing docs from routing.yml
4
- *
5
- * Reads the canonical routing.yml and outputs markdown documentation
6
- * to stdout. Pipe to a file to save: node generate-routing-docs.mjs > ROUTING.md
7
- */
8
-
9
- import { existsSync, readFileSync } from 'node:fs'
10
- import { dirname, join } from 'node:path'
11
- import { fileURLToPath } from 'node:url'
12
- import yaml from 'js-yaml'
13
-
14
- const __dirname = dirname(fileURLToPath(import.meta.url))
15
- const ROOT = join(__dirname, '..')
16
-
17
- const routingPath = join(ROOT, 'routing.yml')
18
- if (!existsSync(routingPath)) {
19
- console.error('❌ routing.yml not found')
20
- process.exit(1)
21
- }
22
- const routing = yaml.load(readFileSync(routingPath, 'utf8'))
23
-
24
- const agents = routing.agents || {}
25
- const matrix = routing.routing_matrix || []
26
- const handoffs = routing.handoffs || {}
27
-
28
- let doc = ''
29
-
30
- // Title
31
- doc += `# Pantheon Routing Reference\n\n`
32
- doc += `Auto-generated from \`routing.yml\` (v${routing.version || '?'})\n\n`
33
- doc += `${Object.keys(agents).length} agents · ${matrix.length} routing rules · ${Object.keys(handoffs).length} agent handoff groups\n\n`
34
-
35
- // Agent Registry
36
- doc += `---\n\n## Agent Registry\n\n`
37
- doc += `All ${Object.keys(agents).length} Pantheon agents with roles, model tiers, and capabilities.\n\n`
38
- doc += `| Agent | Role | Model Tier | User-Invocable | Delegates To | Skills |\n`
39
- doc += `|-------|------|-----------|----------------|-------------|--------|\n`
40
-
41
- for (const [name, info] of Object.entries(agents)) {
42
- const role = info.role || '—'
43
- const tier = info.model_tier || '—'
44
- const invocable = info.user_invocable ? '✅ Yes' : '❌ No'
45
- const delegates = (info.subagent_can_delegate_to || []).join(', ') || '—'
46
- const agentSkills = (info.skills || []).map((s) => `\`${s}\``).join(', ') || '—'
47
- doc += `| **@${name}** | ${role} | ${tier} | ${invocable} | ${delegates} | ${agentSkills} |\n`
48
- }
49
-
50
- // Routing Matrix
51
- doc += `\n---\n\n## Routing Matrix\n\n`
52
- doc += `Task category → primary agent mapping. Use this to decide which agent to invoke.\n\n`
53
- doc += `| Category | Primary Agent | Model Tier | Can Run Parallel With |\n`
54
- doc += `|----------|--------------|-----------|----------------------|\n`
55
-
56
- for (const entry of matrix) {
57
- const primary = `@${entry.primary_agent}`
58
- const tier = entry.model_tier || '—'
59
- const parallel = entry.parallel_with ? entry.parallel_with.map((a) => `@${a}`).join(', ') : '—'
60
- doc += `| ${entry.category} | ${primary} | ${tier} | ${parallel} |\n`
61
- }
62
-
63
- // Handoff Reference
64
- doc += `\n---\n\n## Handoff Reference\n\n`
65
- doc += `Structured delegation contracts between agents.\n\n`
66
-
67
- for (const [agentName, agentHandoffs] of Object.entries(handoffs)) {
68
- doc += `### @${agentName}\n\n`
69
- doc += `| Handoff | Target Agent | Model Tier | Description |\n`
70
- doc += `|---------|-------------|-----------|-------------|\n`
71
-
72
- for (const [key, handoff] of Object.entries(agentHandoffs)) {
73
- if (typeof handoff !== 'object') continue
74
- const target = `@${handoff.agent}`
75
- const tier = handoff.model_tier || '—'
76
- const desc = handoff.description || handoff.prompt?.substring(0, 80) || '—'
77
- doc += `| **${key}** | ${target} | ${tier} | ${desc} |\n`
78
- }
79
- doc += `\n`
80
- }
81
-
82
- // Deployment platforms
83
- doc += `---\n\n## Deployment Platforms\n\n`
84
- doc += `Supported platforms and their configuration details.\n\n`
85
- doc += `| Platform | Directory | Format | Handoff Strategy |\n`
86
- doc += `|----------|-----------|--------|-----------------|\n`
87
-
88
- const PLATFORM_INFO = {
89
- opencode: { dir: '.opencode/agents/', format: '.md with YAML', handoff: 'native (YAML)' },
90
- claude: { dir: '.claude/agents/', format: '.md with YAML', handoff: 'embed (body)' },
91
- cursor: { dir: '.cursor/rules/', format: '.mdc rule files', handoff: 'embed (body)' },
92
- windsurf: { dir: '.windsurf/rules/', format: '.md rule files', handoff: 'embed (body)' },
93
- cline: { dir: '.clinerules/', format: 'plain text', handoff: 'embed (body)' },
94
- copilot: { dir: '.github/agents/', format: '.agent.md with YAML', handoff: 'native (YAML)' },
95
- continue: { dir: '.continue/rules/', format: '.md rules', handoff: 'embed (body)' },
96
- }
97
-
98
- for (const [platform, info] of Object.entries(PLATFORM_INFO)) {
99
- doc += `| **${platform}** | ${info.dir} | ${info.format} | ${info.handoff} |\n`
100
- }
101
-
102
- doc += `\n---\n\n*Generated on ${new Date().toISOString().split('T')[0]} from \`routing.yml\`*\n`
103
-
104
- console.log(doc)